【问题标题】:Override maxWait in tomcat 9在tomcat 9中覆盖maxWait
【发布时间】:2021-04-07 22:36:08
【问题描述】:

我有一个 tomcat 服务器,在 tomcatFolder/conf/server.xml 下 我得到了这个标签资源

<Resource name="jdbc/TestDB"
      auth="Container"
      type="javax.sql.DataSource"
      factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
      testWhileIdle="true"
      testOnBorrow="true"
      testOnReturn="false"
      validationQuery="SELECT 1"
      validationInterval="30000"
      timeBetweenEvictionRunsMillis="30000"
      maxActive="100"
      minIdle="10"
      maxWait="10000"
      initialSize="10"
      removeAbandonedTimeout="60"
      removeAbandoned="true"
      logAbandoned="true"
      minEvictableIdleTimeMillis="30000"
      jmxEnabled="true"
      jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;
        org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
      username="root"
      password="password"
      driverClassName="com.mysql.jdbc.Driver"
      url="jdbc:mysql://localhost:3306/mysql"/>

如何覆盖 setenv.sh 或 catalina.sh 运行命令中的 maxWait 值??

【问题讨论】:

  • 你不能。你为什么要这样做?
  • 我没有权限修改文件
  • 你能解释一下为什么你可以添加一个setenv.sh文件,甚至修改catalina.sh,但是你不能修改server.xml吗?您可以随时使用startup.sh -config /path/to/server.xml

标签: tomcat tomcat9


【解决方案1】:

我不确定如何 /override/,但您可以在 setenv.sh 中定义一个值并在配置文件中使用它。例如:

    # setenv.sh
    JAVA_OPTS="$JAVA_OPTS -Djdbc.maxWait=5000"
    <!-- server.xml or context.xml -->
    <Resource name=...
        ...
        maxWait="${jdbc.maxWait}"
        ...

更新:

Tomcat 9.0.34 和 8.5.54 版在配置文件中使用 ${...} 属性替换时添加了对默认值的支持。对于 9.0.34 和 8.5.54,分隔符是冒号字符。例如

maxWait="${jdbc.maxWait:10000}"

对于 9.0.35 和 8.5.55,分隔符已更改为 :-。例如

maxWait="${jdbc.maxWait:-10000}"

(感谢 Piotr P. Karwasz 的 cmets)

【讨论】:

  • 也可以使用${jdbc.maxWait:-10000}:如果属性jdbc.maxWait没有定义,则使用默认值10000
  • Piotr,我发现您的建议仅在没有破折号“-”字符的情况下才有效。例如只有这个有效:${jdbc.maxWait:10000}。冒号“:”之后的所有字符都包含在默认值中!
  • 显然分隔符从: 更改为:- 在版本8.5.559.0.35
  • 很好地找到了 Piotr!
猜你喜欢
  • 2021-03-15
  • 1970-01-01
  • 2018-03-12
  • 2013-02-28
  • 2014-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-07
相关资源
最近更新 更多