我们有一个 Web 应用程序,每五秒生成一些 3-5 个并行线程来连接到 JMS/JNDI 连接池。我们等待第一批并行线程完成,然后再创建下一批并行线程。在此过程中,我们使用了大量的网络流量,并且连接线程只是挂起。最终我们手动调用运营团队来终止连接线程以释放连接。 我想问你的问题是:
- 显然我们做错了什么,因为我们占用了连接资源
- 当我们在发送第二批请求之前等待并行线程响应时,这种设计是否与行业最佳实践没有很好地产生共鸣?
- 最后,对于这种情况(即连接到 JMS/JMDI 连接的多线程)您有什么选择和建议
感谢您的投入
最佳答案
您需要调整连接池参数。听起来您的服务只使用了 3-5 个连接,这对我来说似乎非常合理。 JMS 服务应该能够处理数千个连接。您的池的默认限制太低,或者您的 JMS 服务器配置的允许连接太少。
您确定这就是其他用户阻止的内容吗?我觉得很奇怪。
关于java - JMS多线程处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10942679/