如何通知 'no objects' 消息的 JMS 侦听器

How to notify JMS listener for 'no objects' message

我需要将一些 'car' 个存储库(由不同的从服务器管理)同步到一个存储库(由一个主服务器管理)。

就此而言,我正在使用 ActiveMQ。 我已经定义了一个队列 (master.car.queue),主人会听它,所有奴隶都会 post 他们的汽车仓库(每 5 分钟一次)。

我有一个场景,其中一个奴隶在其存储库中有一辆汽车 - 所以它发布了相应的消息。 几分钟后,这辆车被卖掉了——所以这个奴隶的仓库现在是空的——它应该如何通知主人?

我想到了以下选项:

1) 为该用例创建另一个队列。

2) 使用相同的 master.car.queue - 但发送新的消息类型或对该消息设置一些 属性。

此用例的最佳实践是什么?

谢谢。

取决于您的队列消费者设计以及它是否能够处理这些用例,以及是否从业务角度来看您如何处理消息。 例如,如果收到的消息只是注入到数据库中,您可以为这 2 个用例的 2 个队列创建 2 个消费者(一个用于插入,一个用于更新或删除)并使用您的第一个命题或使用 1 个队列并使用来自EIP 模式作为消息接收者路由到不同的消费者