You could implement an ISagaFinder for messages/sagas that require Time awareness, then resolve a more specialized saga persister that handles that timing for you. I abandoned the ISagaMessage convention completely in RSB by using saga finders and found it more flexible.
mike On Thu, Mar 10, 2011 at 10:35 AM, Jason Meckley <jasonmeck...@gmail.com>wrote: > I'm assuming sagas can be completed any number of ways and the saga should >> be able to maintain it's lifespan internally. am I incorrect with this >> assumption? >> > If by lifespan you mean saga state, then yes. >> start saga happens by UserInitiatedDataTransferCommand >> after consume is invoked saga state is persisted, saga instance is >> disposed and garbage collected (assuming you're not holding on to >> references) >> any correlated message of DataTransferCommand, >> ForceCompletionOfUserInitiatedCommand, >> or UserInitiatedDataTransferCommand >> >> will get a new instance of saga, with persisted saga state provided >> after consume is invoked state will again be persisted and instance will >> be disposed (the cycle continues) >> >> when IsComplete is set to true, the saga state will be deleted. >> > yeah, that part i understand. I learned about this when implementing my > saga state persister. > > My code is making the assumption that consuming "N" number of >> DataTransferCommands will complete in under 30 minutes. I wonder if there is >> a better (more explicit) way to model that so I'm not choosing between 1 of >> 2 methods to complete the saga. >> It's perfectly normal for sagas to be completed multiple ways. >> > You know what. I think in this case it's over complicating the matter. if > the first message arrives, then subsequent messages will also arrive. a > saga/message won't hang after the user initiates the request. > In this context I'm going to remove the "force completion" message. > > -- > You received this message because you are subscribed to the Google Groups > "Rhino Tools Dev" group. > To post to this group, send email to rhino-tools-dev@googlegroups.com. > To unsubscribe from this group, send email to > rhino-tools-dev+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/rhino-tools-dev?hl=en. > -- You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to rhino-tools-dev@googlegroups.com. To unsubscribe from this group, send email to rhino-tools-dev+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en.