rebus-org / Rebus.SqlServer

:bus: Microsoft SQL Server transport and persistence for Rebus
https://mookid.dk/category/rebus
Other
43 stars 42 forks source link

Why does SqlServer transport configuration set TimeoutManager to 'disabled' #25

Closed trreeves closed 6 years ago

trreeves commented 6 years ago

I'm trying to understand this line:

https://github.com/rebus-org/Rebus.SqlServer/blob/2254c3c35d8d335308ccab787f96638bb76c2431/Rebus.SqlServer/Config/SqlServerTransportConfigurationExtensions.cs#L186

The consequence being, when I configure a SqlServer Transport, then configure SqlServer Timeouts using the provided config extension method, I get an exception as there is already a primary Timeout manager set.

mookid8000 commented 6 years ago

Oh, it's because there's no need for a SQL Server timeout manager, because the SQL Server transport natively supports delayed messages. 😄

E.g. look here to see how a message gets its visibility delay set, depending on the rbs2-deferred-until header.