我们有一个web应用程序,它每5秒生成大约3-5个并行线程,以连接到JMS/JNDI连接池。在创建下一批并行线程之前,我们等待第一批并行线程的完成。在这个过程中,我们使用了大量的网络流量和连接线程只是挂起。最后,我们手动调用操作小组来关闭连接线程以释放连接。我想问你的问题是:
显然,当我们等待并行线程在发送第二批请求之前等待并行线程响应时,我们做了一些错误的事情--当我们等待并行线程响应时,这种设计是否与业界最好的practices?
谢谢你的投入
发布于 2012-06-08 03:30:18
您需要调整连接池参数。听起来你的服务只需要3到5个连接,这在我看来是非常合理的。JMS服务应该能够处理数千个连接。要么您的池的默认限制太低,要么您的JMS服务器配置的允许连接太少。
你确定这就是其他用户所封锁的吗?我觉得很奇怪。
发布于 2012-06-26 08:16:18
我几乎可以肯定的是,你会好的单一连接工厂。确保正确地清理/关闭会话。我们使用spring的SingleConnectionFactory。
https://stackoverflow.com/questions/10942679
复制相似问题