我有一个应用程序作为 WAR 文件部署到 Tomcat。我已将此应用程序中的属性外部化,以便它读取 tomcat 中的环境变量以了解配置文件的位置:
def exConfig = ((Context)(new InitialContext().lookup("java:comp/env"))).lookup("grailsExtConfFile")
我目前配置它的方式是创建一个与我的 war 文件同名的文件(即如果 foo.war
然后创建 foo.xml
) 在`../conf/Catalina/localhost/foo.xml
<Environment name="grailsExtConfFile" value="file:/usr/share/apache-tomcat-7.0.39/configs.groovy" type="java.lang.String"/>
</Context>
一切正常。但是,每次我重新部署时,上述文件都会被删除,我需要重新创建它。
问题
有没有办法配置它,以便每次我重新部署文件 foo.xml
时都不会被删除?
最佳答案
抱歉,也许我没看对 - 为什么不将配置放在 tomcat 之外?例如在/mnt/appconfig/foo-app/foo.xml 中 - 如果这是一个 NFS/SAN 安装,所有节点都可以从中读取。
关于java - 如何在Tomcat中配置环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27450537/