gpt4 book ai didi

clojure - 将多个 Immutant WAR 文件部署到 Wildfly

转载 作者:行者123 更新时间:2023-12-02 19:21:19 24 4
gpt4 key购买 nike

我认为这不是特定于版本的,但我会指定我使用的是 Immutant 2.1.0Wildfly 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 配置或什么。

最佳答案

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

关于clojure - 将多个 Immutant WAR 文件部署到 Wildfly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32766485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com