Particular / NServiceBus

Build, version, and monitor better microservices with the most powerful service platform for .NET
https://particular.net/nservicebus/
Other
2.09k stars 648 forks source link

Add limited support for TimeToBeReceived in MSMQ transactions #4698

Closed cremor closed 7 years ago

cremor commented 7 years ago

I'd really like to use the TimeToBeReceived attribute in the solution I'm developing right now, but I can't since I also have to use MSMQ in Transaction Scope mode.

According to the documentation the problem is that all messages in the same transaction share a TTBR. But wouldn't this also mean that NServiceBus could support it if all messages in the transaction use the same value on the TimeToBeReceived attribute?

This would implicitly also mean that a transaction that only sends a single message would always work with TTBR. Only from the second send operation onwards it could fail if a different TTBR value is detected.

andreasohlund commented 7 years ago

This would implicitly also mean that a transaction that only sends a single message would always work with TTBR

Not a 100% true, audits are included but if you turn audit off then yes that would be true.

cremor commented 7 years ago

Oh, that's a good point. I use audit in my project, so that would be a show stopper for this improvement for me.

I've done some more research and found a mention of a soft TTBR here which links here. So maybe that would be more suitable for my requirement. Is there an issue for this soft TTBR that I can follow?

andreasohlund commented 7 years ago

@cremor I've opened up one in our new MSMQ repo (since MSMQ is about to be pulled out of the core )

https://github.com/Particular/NServiceBus.Transport.Msmq/issues/1

Closing this

andreasohlund commented 7 years ago

cc @Particular/msmq-transport-maintainers