0

是否可以通过几个队列传播消息?我有两个远程和本地数据库,在远程我有一个 aq 表 AQ1,在本地我有两个 aq 表 AQ2 和 AQ3。是否可以安排从 AQ1 到 AQ2 再从 AQ2 到 AQ3 的传播,所以我在 AQ2 中从 AQ1 收到的消息会自动传播到 AQ3?

我问这个原因我有这个问题,当消息从 AQ1 传播到 AQ2 时,它不会自动传播到 AQ3。当我查看时user_queue_schedules,甚至没有触发到 AQ3 的传播。但是,如果我将消息排队到 AQ2,它确实会传播到 AQ3。

4

1 回答 1

0

当您考虑传播时,当您将消息传播到另一个队列时,它会将它排入该队列并且应该触发传播到第三个队列,这有点合乎逻辑。但是,当您更好地考虑传播的工作原理时,不应该触发到第三队列的传播是合乎逻辑的。如果您在消息的入队过程中未指定收件人,则传播会采用订阅该 aq 表的默认代理并向它们发送消息,因此它将消息排入第二个队列,收件人是该队列,因此无法将消息传播到第三个队列,因为该队列不是收件人。解决此问题的方法是在消息入队到第二个队列时添加回调过程,以将该消息出队并将其入队到第三个队列。或者干脆创造一份工作,

如果我对此有误,请告诉我。

于 2016-12-09T08:22:08.053 回答