有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java ActiveMQ 5.9.0、Glassfish 3.1.2和MDB用于长时间的消息处理

我有一条消息,在Glassfish 3.1.2中运行,正在听一个ActiveMQ 5.9.0 Queue。 当一条消息被处理并且需要很长时间时,其他消息等待处理

测试场景:发送一条大消息(处理大约需要30分钟)和250条小消息,而第一条消息仍在进行中。然后62条小消息等待大消息处理

MessageDrivenBean的bean池大小为4,在这个测试中,我没有使用预取限制。使用各种设置(例如?jms.prefetchPolicy.queuePrefetch=20...=2,线程池最大队列大小2)进行的附加测试并没有解决问题,总是有小消息等待大消息

我的问题是:有人知道如何配置MDBActiveMQ和/或glassfish来避免这个问题吗?或者这是一种典型的轮询场景,例如通过TimerBean进行轮询?我知道,或者我可以使用两个队列和两个MDB(一个用于大消息,一个用于小消息),但这意味着需要更改其他一些JMS通信方

提前向您表示感谢并致以最良好的问候, 马克


共 (0) 个答案