为什么JBoss启动超时?

问题描述:

有时候我会在等待服务容器稳定性的300秒后超时。在JBoss启动过程中出错,之后JBoss停止。我发现这个“问题”的解决方案只是增加了JBoss配置中的超时。为什么JBoss启动超时?

问题是:无论如何有这样的超时是什么原因?它解决了什么问题?我相信最好是运行JBoss(可能需要一些时间才能启动),而不是阻止JBoss和日志中的错误。

+1

任何超时的目的是什么?它可以防止进程无限期挂起,从而释放资源,并可能重新尝试操作。 –

+0

完全同意为什么需要超时。无法想象一个不支持它们的数据库(或HTTP)客户端。这种客户可能需要经常重新启动以释放资源。但是,如果服务器启动超时有用,您能举一个实际的例子吗?纠正我,如果我错了,但是,例如,Tomcat没有这样的“功能”,它仍然可以使用它。 – yaskovdev

除了明显的自我控制原因之外,在HA场景下,当服务器组需要达到仲裁并同步其状态时,它也是有用的。卡住的服务器进程会导致组中的不稳定。您还应该考虑,切断启动和部署通常是更大进程的一部分,例如CI构建,你应该明确说明,在这个步骤中应该阻塞执行器多久,直到你决定某些事情是错误的并释放资源。此外,需要花费较长时间的部署可能表明您的应用程序存在问题,例如,如果将太多逻辑放入bean初始化中,或尝试获取套接字或连接等外部资源,或者主机操作系统性能出现问题。另一方面,300s的默认值只是一个适合大多数人的合理默认值,扩展该值以适应您的需求没有任何问题。