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.

Reply via email to