如何在命令行中通过Apache Ant样式变量替换设置tomcat的context属性?

时间:2017-08-30 04:44:33

标签: java tomcat jvm

我想在启动tomcat之前使上下文的unloadDelay属性可配置。目前,我使用sed来替换值。但是,我发现它可以由Apache Ant-style variable substitution配置。我试图找出-D语法参数名称,但我没有。 https://tomcat.apache.org/tomcat-8.0-doc/config/index.html

那么,有人可以告诉我配置unloadDelay的确切参数名称或构建与tomcat配置相关的任何参数的模式吗?

1 个答案:

答案 0 :(得分:2)

你可以试试这个: 从命令行启动tomcat:

bin/startup -app.unloadingDelay 60000

修改你的conf / context.xml并使用上面的属性:

<Context unloadDelay="${app.unloadingDelay}"> 

<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>

<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->

<!-- Uncomment this to enable Comet connection tacking (provides events
     on session expiration as well as webapp lifecycle) -->
<!--
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-->

不要使用任何关键字或属性作为属性名称。 参考: https://tomcat.apache.org/tomcat-7.0-doc/config/index.html

  

Tomcat配置文件被格式化为无模式XML;元素和属性区分大小写。支持Apache Ant样式变量替换;可以使用语法$ {propname}在配置文件中使用名为propname的系统属性。所有系统属性都可用,包括使用-D语法设置的属性,JVM自动提供的属性以及$ CATALINA_BASE / conf / catalina.properties文件中配置的属性。

详细说明:

  

https://tomcat.apache.org/tomcat-3.3-doc/serverxml.html#substitution