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].
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en.

Reply via email to