Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有 JBoss 5,其中ejb3部署了 bean。
ejb3
如果 bean 方法执行需要很长时间(我检查了 2 小时),那么当 EJB 方法执行完成时客户端不会收到答案(无论是否有异常)。
客户端被阻塞等待来自套接字的响应。
为什么会这样?
这很可能是由(有状态的)路由器、数据包过滤器、负载平衡器、SSL 盒引起的:它们只是在一段时间不活动后终止连接,并且不会通知真正的端点。经验表明,在每个设备中设置适当的超时通常是您无法控制的。
无论如何,在您的情况下,而不是治愈症状:正在运行的请求需要打开的 TCP 连接,并且可能会阻塞线程。因此,请考虑将系统设计从同步更改为异步: