在 Wildfly 上设置每个应用程序属性

Pet*_*řák 5 java wildfly wildfly-10

我通常是 Tomcat 人员,但我们在我们的一个客户项目中使用 Widlfly。

使用 Tomcat,我可以通过为每个应用程序创建单独的上下文来设置“每个应用程序”属性,正如Tomcat 文档中很好地说明的那样。

这样,我的WebApp1.war可以和my.property.value=Cat可以同时WebApp2.war运行。my.property.value=Dog

我还没有找到任何与 Wildfly 类似的文档/功能。您能否建议我如何单独设置应用程序的属性,或者向我指出文档?

谢谢。:-)

Ced*_*rix 4

在 Wildfly 中,您可以创建包含属性的模块:

  • ${JBOSS_HOME}/modules下,添加一个目录,例如my/group/app1/conf/main

  • ${JBOSS_HOME}/modules/my/group/app1/conf/main下,创建包含以下内容的文件 module.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.1" name="my.group.app1.conf">
            <resources>
                    <resource-root path="." />
                    <!-- Insert resources here -->
            </resources>
    </module>
    
    Run Code Online (Sandbox Code Playgroud)
  • 将您的 * .properties文件复制到${JBOSS_HOME}/modules/my/group/app1/conf/main下

  • <module name="my.group.app1.conf" export="true" />在 WebApp1.war 的 jboss-deployment-struct.xml 中添加为依赖项

  • 在 Spring XML 中,假设配置模块中有一个名为my-app.properties的文件,则可以使用以下命令将属性加载到上下文中:

    <context:property-placeholder
            location="classpath*:*my-app.properties"
            local-override="false"
            ignore-unresolvable="false"/>
    
    Run Code Online (Sandbox Code Playgroud)

要为 WebApp2.war 创建一个配置模块,只需重复上述步骤,但新模块必须有自己唯一的名称。