我不认为这是特定于版本的,但我会指定我使用的是Immutant 2.1.0和Wildfly 9.0.1.Final。
我从一个现成的、刚解压的wildfly下载开始,并用$ wildfly-9.0.1.Final/bin/standalone.sh运行它。我在我的clojure项目中运行$ lein immutant war,在我的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配置等等。
发布于 2015-09-29 01:19:14
这是由具有jboss-beans.xml文件的netty jar引起的,WildFly中的"pojo“子系统会检测到该文件,并使用该文件来设置LoggerConfigurator bean。每个应用程序都必须依赖于netty (可能是可传递的),这会导致WildFly尝试部署同一个bean两次。一种解决方法是在WildFly中禁用pojo子系统,方法是编辑适当的standalone/configuration/standalone*.xml文件并注释掉pojo子系统(您可能需要注释掉<extension module="org.jboss.as.pojo"/>和<subsystem xmlns="urn:jboss:domain:pojo:1.0"/>)。
发布于 2016-04-21 15:31:14
当我尝试使用hornetq-jms-server在jboss上部署两个应用程序时,我遇到了类似的问题。根本原因是netty jar中有一个额外的jboss-beans.xml。我不确定在哪个版本中删除了它,但切换到hornet 2.4.7Final,它使用netty-all 4.0.13.Final完成了这项工作。下面是关于缺陷https://github.com/netty/netty/issues/1996的信息
https://stackoverflow.com/questions/32766485
复制相似问题