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



我已经将MDB配置为侦听外部ActiveMQ代理上的Queue。它工作得很好,但是MDB从队列中获取消息并在延迟2分钟后才开始处理。我没有配置任何超时,但看起来确实存在一种延迟处理的属性。有人能告诉我如何调整这个延迟并切换到即时处理吗?

这是Glassfish很长时间以来的一个老bug。

有一个错误记录在这里,但现在这个网站也关闭了。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

最新更新