1

我们有一种情况,我们在 Service Broker 队列上发送消息作为分布式事务的一部分。显然,我们只希望在事务完成时发送消息。

但是我们发现在这种情况下,队列的接收端在事务提交之前接收到消息,不知何故也被注册了。如果发件人随后回滚,这将导致连锁问题,最终导致队列因有毒消息而被禁用。

这是预期的行为吗?如果是这样,我们如何以事务方式发送消息?

4

1 回答 1

0

可能是这样,您正在阅读带有 NOLOCK 提示的队列吗?在这种情况下-您可以在队列中看到消息,但实际上您无法收到它!并且只有在事务提交后,才能收到。

于 2012-05-07T07:02:58.677 回答