Sebastian,
The whole point is that the System.Transactions.Transaction commits for
everything or roll back for everything.
There is no inconsistency.

On Sat, Apr 3, 2010 at 1:01 PM, Sebastien Crocquesel <[email protected]>wrote:

> It won't change anything. Say that processing your message involve a
> database with linq or nhibernate + other transactional things. Maybe it sent
> another message or the transactionscope is filled with other things.
> Message is completed the transaction scope is commited and dispose making
> the new message to be sent in the queue and the others transactionals things
> to be commited, but my nhibernate session or linq datacontext failed.
> That state is inconsistent and the message must not be retried or you'll
> end up with having things twice but nothing in the database either.
>
> We cannot create a transactionscope that will encapsulate the one which is
> created in the ReceiveMessageInTransaction because MessageArrived event is
> raised after.
>
> Maybe we're missing an event like MessageCompleting that would be raised
> before tx.Complete(); Or make the messageCompleted be raised before.
> As far as I understand, call order are like this :
>
> 1/ Begin tran
> 2/ raise MessageArrived
> 3/ call Consumer
> 4/ Commit tran
> 5/ raise MessageCompleted
>
> There is not way to be both before begin tran and after commit tran or to
> be both after begin tran and before commit tran.
>
> sébastien
>
>
> 2010/4/1 Jason Meckley <[email protected]>
>
> set the numberOfRetries attribute on the bus configuration node.
>>
>> On Apr 1, 11:46 am, Sebastien Crocquesel <[email protected]> wrote:
>> > With a linq datacontext, my unit of work message module is submitting
>> > changes in response to the ITransport.MessageProcessingCompleted event.
>> > I though it was a good way to do so but an exception occured during
>> > processing the event and my data were not affected but the message is
>> > discarded and exception silently catch with an error log message : "An
>> error
>> > occured when raising the MessageCompleted event, the error will NOT
>> affect
>> > the message processing".
>> >
>> > Where do you end your session or submitchanges so that if an error
>> occured
>> > due to a database failure, message will be replayed latter. Am i missing
>> > something ?
>> >
>> > sébastien
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Rhino Tools Dev" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<rhino-tools-dev%[email protected]>
>> .
>> 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 [email protected].
> To unsubscribe from this group, send email to
> [email protected]<rhino-tools-dev%[email protected]>
> .
> 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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en.

Reply via email to