我已配置MDB以侦听外部ActiveMQ代理上的队列。它工作正常,但MDB从队列中获取一条消息,并且仅在延迟2分钟后才开始处理。我没有配置任何超时,但它看起来真的有一种延迟处理的属性。有人可以建议我如何调整此延迟并切换到立即处理?
答案 0 :(得分: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