Glassfish+ActiveMQ MDB 处理消息延迟 120 秒

Glassfish+ActiveMQ MDB processes message with 120 sec delay

我已将 MDB 配置为侦听外部 ActiveMQ 代理上的队列。它工作正常,但 MDB 从队列中获取消息并在延迟 2 分钟后才开始处理。我没有配置任何超时,但看起来确实有一种 属性 延迟处理。有人可以建议我如何调整此延迟并切换到立即处理吗?

这是 Glassfish 长期以来的一个老错误。

这里记录了一个错误,但现在这个站点也关闭了。 http://java.net/jira/browse/GLASSFISH-1429

添加 System.exit(0)(在 finally 块中),这会关闭所有线程。

try{
code ...

}finally{
 System.exit(0) ;
}

您还可以启用调试:

1) 启用 jstack 查看 mdb-thread-pool 中有多少线程在 使用.

2) 尝试启用工作管理器和线程池的监控统计信息: http://download.oracle.com/docs/cd/E19879-01/820-4335/6nfqc3qp8/index.html