【问题标题】:Tomcat - How to specify properties that can be expanded in server.xmlTomcat - 如何指定可以在 server.xml 中扩展的属性
【发布时间】:2012-01-05 11:22:57
【问题描述】:

目前,我的 server.xml 中有:

<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

我希望它变成:

<Connector port="${oms.ui.port}" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

我将此属性 oms.ui.port 放在位于 apache-tomcat-7.0.8\lib 中的属性文件中 但它没有找到它,我得到:

警告:[SetAllPropertiesRule]{Server/Service/Connector} 设置 属性 'port' 到 '${oms.ui.port}' 没有找到匹配的属性。

也许有更好的 Tomcat 经验的人可以帮助我,好吗?

【问题讨论】:

  • Tomcat 文档中没有任何内容表明支持这样的事情。
  • @BorisHamanov 你能做到吗?

标签: tomcat configuration properties server.xml


【解决方案1】:

根据Tomcat 7.0 Configuration Overview

支持 Apache Ant 风格的变量替换;名称为 propname 的系统属性可以使用语法 ${propname} 在配置文件中使用。所有系统属性都可用,包括使用 -D 语法设置的属性、JVM 自动提供的属性以及在 $CATALINA_BASE/conf/catalina.properties 文件中配置的属性。

因此,您可以使用 JVM 系统属性或 catalina.properties 来声明您的变量并为其赋值。

【讨论】:

  • 直到现在我才知道这一点,因此传统上,对于类似应用程序的多个 tomcat 实例,必须手动更改 server.xml 和 context.xml 文件。这个功能太棒了!
  • 您也可以将其配置为使用系统环境 - 参见属性org.apache.tomcat.util.digester. PROPERTY_SOURCE
猜你喜欢
  • 2011-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 2011-06-14
相关资源
最近更新 更多