2.0.0
As part of this release we had 5 issues closed.
Improvements
#48 Make callbacks and pubsub work seamlessly when scaled out
This is handled by using a secondary receive thread that polls the {endpointname}.{machinename} table. All bus.Reply|Return messages will be sent to this queue to make callbacks work.
#38 Move to .net 4.5
#32 Expose the SqlConnection used to receive incoming messages
This will allow users to reuse that connection if needed to avoid escalating to DTC tx.
The reason for DTC escallation is that even if the connection strings are the same escalation will still happen if more than 1 connection is open at the same time. This will always happen since we need to keep the receiving connection open for the duration of the receive
#3 Improve error reporting in SqlServerPollingDequeueStrategy
raised by @russellchadwick
If you neglect to Configure.Instance.ForInstallationOn<Windows>().Install()
, SqlServer transport will not create its tables. Later the SqlServerPollingDequeueStrategy
will have exceptions because the objects does not exist.
The issue is that the exception reported to log is
WARN NServiceBus.Transports.SQLServer.SqlServerPollingDequeueStrategy - Failed to connect to the configured SqlServer
The message is inaccurately reporting a connection failure.
migrated from Particular/NServiceBus#1501
Content trimmed. See full issue
Bugs
#29 Using transport with no DTC
This issue is raised as part of the diagnosing of #17
The problem is that to prevent DTC escalation we cannot use nested ADO connections from within a handler, so we need a way to expose both the ado connection + ado transaction to the end user.
Here is what @andreasohlund said:
Did some research and it seems escalation wont happen if "the connections are not open at the same time"
http://stackoverflow.com/a/1693270/236004
Since we keep the connection open during receive I believe the escalation will happen when a second connection is opened. To fix this we need to share the connection or have the users use our native transaction. Does this make sense?
Content trimmed. See full issue
Where to get it
You can download this release from: