1

我想检查我的 JBoss EAP 7 是否是通过jboss-cli.

使用 JBoss EAP 6,我可以使用以下命令

jboss-cli.bat -c --commands="read-attribute server-state"

服务器启动时,响应为starting. 服务器启动成功后,响应为running.

迁移到 JBoss EAP 7.0 后,当服务器启动时,相同的命令会返回以下消息。Failed to connect to the controller: Timeout waiting for the system to boot.当服务器成功启动时,running返回通常的消息。

我的问题是:为什么在启动之前无法jboss-cli连接到服务器?

4

2 回答 2

1

在 EAP 7.x 和 EAP 6.3.0 或更高版本中,您可以配置jboss.as.management.blocking.timeout系统属性来调整等待服务容器稳定性的超时(秒)。通过 CLI 连接后尝试设置此参数。

从 EAP 6.3.0.ER8 开始,在 jboss.as.controller 中有一个新类:BlockingTimeout。此类加载系统属性 jboss.as.management.blocking.timeout 的值或默认为 300(秒)。 Note: This property is not a timeout per deployment but a timeout on container stability and if jboss.as.management.blocking.timeout is reached during startup then all applications will be undeployed and the container shutdown. The reasoning behind this is that having a half-working server is potentially dangerous as you may not notice major failures. 因此,如果您的应用程序无法在给定的超时值内加载,CLI 将抛出错误Failed to connect to the controller: Timeout waiting for the system to boot

jboss-cli.sh --connect --controller=IP:PORT --timeout=40000将超时值配置为大于服务器启动所需的时间。

于 2018-05-28T10:32:05.810 回答
0

实际命令行是 ./jboss-cli.sh --connect command=":read-attribute(name=server-state)"

于 2019-07-22T11:10:49.407 回答