【问题标题】:Wildfly stops abruptlyWildfly突然停止
【发布时间】:2021-04-10 13:28:33
【问题描述】:

我已经使用 wildlfy 迁移工具将我的应用从 Wildfly 17 迁移到 22。迁移成功。但是,Wildfly 应用程序服务器没有启动。这是 server.log 文件的内容:

2021-04-10 14:17:50,552 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0006: Undertow HTTPS listener https listening on 0.0.0.0:8443
2021-04-10 14:17:50,593 INFO  [org.jboss.ws.common.management] (MSC service thread 1-4) JBWS022052: Starting JBossWS 5.4.2.Final (Apache CXF 3.3.7) 
2021-04-10 14:17:50,645 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([("subsystem" => "microprofile-metrics-smallrye")]): java.lang.NullPointerException
    at java.base/java.util.Objects.requireNonNull(Objects.java:221)
    at org.wildfly.extension.metrics@22.0.1.Final//org.wildfly.extension.metrics.WildFlyMetricMetadata.<init>(WildFlyMetricMetadata.java:55)
    at org.wildfly.extension.metrics@22.0.1.Final//org.wildfly.extension.metrics.MetricCollector.collectResourceMetrics0(MetricCollector.java:126)
    at org.wildfly.extension.metrics@22.0.1.Final//org.wildfly.extension.metrics.MetricCollector.collectResourceMetrics0(MetricCollector.java:137)
    at org.wildfly.extension.metrics@22.0.1.Final//org.wildfly.extension.metrics.MetricCollector.collectResourceMetrics0(MetricCollector.java:137)
    at org.wildfly.extension.metrics@22.0.1.Final//org.wildfly.extension.metrics.MetricCollector.collectResourceMetrics(MetricCollector.java:69)
    at org.wildfly.extension.microprofile.metrics-smallrye@22.0.1.Final//org.wildfly.extension.microprofile.metrics.MicroProfileMetricsSubsystemAdd$2.execute(MicroProfileMetricsSubsystemAdd.java:101)
    at org.jboss.as.controller@14.0.1.Final//org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:1005)
    at org.jboss.as.controller@14.0.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:744)
    at org.jboss.as.controller@14.0.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:468)
    at org.jboss.as.controller@14.0.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1415)
    at org.jboss.as.controller@14.0.1.Final//org.jboss.as.controller.ModelControllerImpl.boot(ModelControllerImpl.java:529)
    at org.jboss.as.controller@14.0.1.Final//org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:515)
    at org.jboss.as.controller@14.0.1.Final//org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:477)
    at org.jboss.as.server@14.0.1.Final//org.jboss.as.server.ServerService.boot(ServerService.java:451)
    at org.jboss.as.server@14.0.1.Final//org.jboss.as.server.ServerService.boot(ServerService.java:404)
    at org.jboss.as.controller@14.0.1.Final//org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:416)
    at java.base/java.lang.Thread.run(Thread.java:834)

如何修复上述日志中显示的错误。我的应用程序和配置在 WF 17 Final 中发挥得淋漓尽致。

【问题讨论】:

  • 这看起来可能是配置中的问题。您是否使用 MicroProfile 指标?
  • 没有。如何禁用它?迁移工具将wildly 17的配置文件复制到wildly 22。在我的服务器上,WF 17启动时不会抛出错误或显示警告。
  • 配置多吗?也许配置一个普通的wildfly 22(顺便说一句。23 已经出来了)而不是使用迁移工具会更好
  • 没有。我已经部署了 6 场战争。应用程序需要数据源访问。我还为某些应用程序配置了文件处理程序。配置不是很复杂。

标签: java jboss wildfly


【解决方案1】:

问题似乎是缺少prefix。您可以使用 CLI 通过添加前缀来解决此问题。使用嵌入式服务器,以下应该可以工作。

embed-server
/subsystem=microprofile-metrics-smallrye:write-attribute(name=prefix, value=${wildfly.metrics.prefix:wildfly})
stop-embeddes-server

由于您没有使用子系统,您可以删除子系统。使用 JBoss CLI,您可以执行以下操作。

embed-server
/subsystem=microprofile-metrics-smallrye:remove
stop-embedded-server
exit

这假设您使用默认的standalone.xml 文件名。如果您配置的文件名不同,您可以使用embed-server --server-config=custom-standalone.xml

如果要重新添加子系统,可以使用以下 CLI 命令:

/subsystem=microprofile-metrics-smallrye:add(exposed-subsystems=["*"], prefix="${wildfly.metrics.prefix:wildfly}", security-enabled=false)

【讨论】:

  • 可是为什么连启动都失败了呢?
  • 如果没有看到配置,我无法说出它为什么停止启动。
  • 我会更新答案,因为还有另一个修复程序,但这是我能够重现 issues.redhat.com/browse/WFLY-14697 的错误。
  • @JamesR.Perkins 提供了正确的解决方法。我们还修复了 WildFly 源代码中的错误,该代码应在 WildFly 24 中提供。
猜你喜欢
  • 2018-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-22
  • 2021-02-01
  • 2020-11-05
  • 2020-10-09
  • 2016-12-29
相关资源
最近更新 更多