java - JMS消息监听器设计

标签 java jms

什么是更好的设计

是否最好有一个监听器并在该监听器中对两种类型的消息进行单独处理。

或者让两个监听器进行处理并通过 header 将其分开?

例如对于不同类型的类。或接口(interface)。

-----编辑

而不是使用选择器。我可以让我们说处理程序(接口(interface))的列表,然后遍历已注册的(通过 IOC)处理程序并选择可以处理消息的处理程序。它也是分开的,但不同,你认为哪个更好?

最佳答案

使用多个监听器。

您为什么要编写复制您已在使用的技术的现有功能的代码。我在这里仅在最简单的意义上使用重复一词,因为 JMS 可以支持消息路由中相当复杂的决策制定过程。

其他考虑因素是根据每个监听器的选择器分配工作负载的能力。对于多个监听器,您可以按消息类型配置线程数,并根据需要轻松更改该值。当然,您也可以自己做,但为什么要这样做呢?

关于java - JMS消息监听器设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5992448/

相关文章:

java - 无法让RecyclerView水平显示Android Java

java - 加载 csv 文件时过滤特定行

java - 如何修复 'JMSCMQ0001: WebSphere MQ call failed with compcode ' 2' (' MQCC_FAILED') 原因 '2035' ('MQRC_NOT_AUTHORIZED' )'

JAVA、JVM、多个Main方法

java - 无法启动 ActiveMQ JMS 消息代理

java - 从Java中识别蓝牙网络接口(interface)?

java - 为什么createMessage方法在JMS中的Session接口(interface)上?

jms - 503 : Max Client Queue and Topic Endpoint Flow Exceeded

jms - 生产者在接收消息之前从队列中回滚/删除消息

java - JMS 在 Java 中如何工作?