如何获取在Java中部署Web应用程序的文件夹名称?

时间:2014-09-12 23:53:09

标签: java tomcat

在我们的生产环境中,我们将Tomcat配置为在webapps目录中有一个符号链接,指向部署在服务器上其他位置的.war文件,如下所示:

tomcat 7.0.53
|_webapps
  |_app1 (symlinks to /usr/local/myCompany/app1.war)
  |_app2 (symlinks to /usr/local/myCompany/app2.war)

所有应用程序都是使用相同的代码库构建的,当我构建它时,我指定它是app1还是app2。我已经被赋予了在tomcat启动时确定它是app1还是app2的任务,所以现在所有的符号链接都会指向同一个文件。

有没有办法在StartupContextListener中以编程方式告诉符号链接指向该文件的内容?它应该为每个应用程序扩展一次战争,不是吗?

这是为每个应用配置server.xml的方式:

  <Host name="www.app1.com" autoDeploy="false" deployOnStartup="false">
     <Context path="" docBase="/usr/local/mpl/tomcat/webapps/app1" />
     <Alias>www.app1.com</Alias>
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="www.app1.com_access_log" suffix=".txt" pattern="common" resolveHosts="false"/>
  </Host>

如果我可以访问docBase属性或Host标签的name属性,它可以解决问题,但我不确定是否可以获取该信息。

谢谢, 罗布

0 个答案:

没有答案