1

我需要一次向 N 个主题发送多条消息。消息知道如何路由自己。如果任何一个发布失败,所有之前的发布都需要回滚。这在 Websphere MQ 上是否可行,如果可以,如何实现?

4

1 回答 1

1

如果“任何发布失败”是指将发布交付给 QMgr,则将所有消息放在单个工作单元下,然后发布COMMIT.

如果“任何发布失败”是指最终将消息传递给订阅者,则不会。这是异步消息传递。异步消息传递的基本思想是将发送和接收消息的应用程序解耦。根据设计,发送应用程序有时不知道PUT接收应用程序是否可以收到消息。Pub/Sub 通过允许发布者和订阅者在不影响现有消息分发的情况下动态加入或离开,更进一步。

在异步消息传递设计中,如果需要考虑交付给一定数量的收件人,通常会使用分发列表而不是 Pub/Sub(因为如果您事先知道订阅者是谁并且它不会改变list 就足够了),确认收到的确认消息,以及补偿事务以退出错误条件。

于 2015-07-09T13:15:31.427 回答