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.
