Wildfly 无法正常启动

Wildfly not starting properly

所以我有一个很奇怪的问题,wildfly 没有启动...

如果我清除 standalone/deployments 除了一个 .war 文件以外的所有文件,wildfly 将完美启动。然后我可以添加所有其他 .war 文件(总共 6 个)并且 wildfly 部署它们没有问题。

但是,如果我拥有所有 war 文件并启动 wildfly,它就会完全失败。它会保持一切都设置为 .isdeploying 的状态大约 5 分钟,直到一切都设置为失败。

我从 service wildfly status

获得的日志
Feb 09 08:49:12 wildfly[2079]: /etc/init.d/wildfly: 3: /etc/default/wildfly: default: not found
Feb 09 08:49:12 wildfly[2079]:  * Starting WildFly Application Server wildfly
Feb 09 08:49:43 wildfly[2079]:    ...done.
Feb 09 08:49:43 wildfly[2079]:  * WildFly Application Server hasn't started within the timeout allowed
Feb 09 08:49:43 wildfly[2079]:  * please review file "/var/log/wildfly/console.log" to see the status of the service

有人以前见过这样的东西吗?

环顾四周后,我在它取消部署所有内容之前发现了这个:

ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0348: Timeout after [300] seconds waiting for service container stability. Operation will roll back. Step that first updated t
he service container was 'add' at address '[
    ("core-service" => "management"),
    ("management-interface" => "http-interface")
]'

但我还是不太清楚我的意思...

此错误表明您的 IP/Port 正在被另一个进程使用。

使用下面的命令来检查它。
对于 windows:use netstat -aon | find "port number"

您可以配置jboss.as.management.blocking.timeout系统属性来调整等待服务容器稳定的超时(秒)如下:

...
</extensions>
<system-properties>
      <property name="jboss.as.management.blocking.timeout" value="900"/> 
</system-properties>
<management>
...

或者,如果仍然无法正常工作,请在启动期间收集一系列线程转储,以便我们了解它可能卡在什么地方。

从 WildFly 11 及更高版本的 IIRC 开始,这也发生在我身上。

您是否试图在服务器启动时访问 public 或管理 IP?基本上你必须等到服务器开始访问这些 IP。

我的解决方法是使用部署扫描器检查的标记文件。 https://docs.jboss.org/author/display/WFLY/Application+deployment#Applicationdeployment-MarkerFiles

在开始 wildfly 之前,您必须为每个要跳过的 .war 放置一个 .skipdeploy 文件。然后,当服务器启动时,您只需删除该文件即可让 wildfly 开始部署。您可以通过制作 shell 脚本并从您的 standalone.sh

调用它来实现此目的