0

我们有一个 Web 应用程序,它每五秒生成大约 3-5 个并行线程以连接到 JMS/JNDI 连接池。在创建下一批并行线程之前,我们等待第一批并行线程完成。在这个过程中,我们使用了大量的网络流量并且连接线程只是挂起。最终我们手动调用操作团队来终止连接线程以释放连接。我想问你的问题是:

  • 显然我们做错了什么,因为我们正在阻止连接资源
  • 当我们在发送第二批请求之前等待并行线程响应时,这种设计是不是很符合行业最佳实践?
  • 最后,对于这种情况,您有哪些选项和建议,即连接到 JMS/JMDI 连接的多个线程

感谢您的投入

4

2 回答 2

1

您需要调整连接池参数。听起来您的服务只使用了 3-5 个连接,这对我来说似乎很合理。JMS 服务应该能够处理数千个连接。您的池的默认限制太低,或者您的 JMS 服务器配置的允许连接太少。

您确定这是其他用户阻止的内容吗?我觉得很奇怪。

于 2012-06-08T03:30:18.093 回答
0

我几乎可以肯定,您可以使用单连接工厂。只要确保正确清理/关闭会话即可。我们使用 spring 的 SingleConnectionFactory。

于 2012-06-26T08:16:18.023 回答