4

我不认为这是特定于版本的,但我会指定我在Immutant 2.1.0Wildfly 9.0.1.Final.

我从一个股票开始,刚解压缩的 Wildfly 下载并使用$ wildfly-9.0.1.Final/bin/standalone.sh. 我$ lein immutant war在我的 clojure 项目中运行,其中包含以下内容project.clj

:immutant {:war {:destination "/srv/wildfly-9.0.1.Final/standalone/deployments/"
                 :context-path "/app1}}

这很好用,我的应用程序位于http://localhost:8080/app1. 问题是当我使用第二个应用程序执行此操作时:context-path "/app2",wildfly 抱怨:

>Caused by: org.jboss.msc.service.DuplicateServiceException: 
 Service jboss.pojo.\"org.jboss.netty.internal.LoggerConfigurator\".DESCRIBED 
 is already registered"

如果我在 app1 之前使用 app2 执行此过程,则 app2 会正确部署,但 app1 会收到投诉。两者都可以单独部署,但不能同时部署。

我不知道我是否错过了一个步骤WAR或错过了wildfly配置或什么。

4

2 回答 2

2

这是由于 netty jar 有一个jboss-beans.xml文件,该文件由 WildFly 中的“pojo”子系统检测到,并用于设置 LoggerConfigurator bean。每个应用程序都必须依赖于 netty(可能是传递性的),这会导致 WildFly 尝试部署同一个 bean 两次。standalone/configuration/standalone*.xml一种解决方法是通过编辑适当的文件并注释掉 pojo 子系统(您可能需要同时注释掉<extension module="org.jboss.as.pojo"/>和)来禁用 WildFly 中的 pojo 子系统<subsystem xmlns="urn:jboss:domain:pojo:1.0"/>

于 2015-09-28T17:19:13.500 回答
0

当我尝试使用 hornetq-jms-server 在 jboss 上部署两个应用程序时,我遇到了类似的问题。根本原因是 netty jar 中有一个额外的 jboss-beans.xml。我不确定它到底是在哪个版本中删除的,但是切换到使用 netty-all 4.0.13.Final 的 hornet 2.4.7.Final 完成了这项工作。这是有关缺陷的信息https://github.com/netty/netty/issues/1996

于 2016-04-21T07:31:13.663 回答