【问题标题】:Override tomcat properties on tomcat level在 tomcat 级别覆盖 tomcat 属性
【发布时间】:2018-03-12 16:26:27
【问题描述】:

目前我的应用程序能够使用两种策略解析应用程序属性:

  • 内部:此策略将使用代码库中的application.properites 文件。
  • 外部属性:此策略可以使用application.properites文件,以防它存在于tomcat级别的config文件夹中。

例如:如果tomcat以以下方式启动/opt/tomcat/bin/startup.sh。代码将通过以下路径查找外部属性/opt/tomcat/bin/config/application.properites

如果应用程序以 sh /opt/tomcat/bin/startup.sh 以下方式启动,此方法可以正常工作,但它不适用于 systemd 单元 tomcat 文件 service tomcat start

/etc/systemd/system/tomcat.service单元文件的内容

# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/opt/java
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

我尝试将我的配置文件夹复制到/etc/systemd/system/,但它仍然不起作用。

关于使用 systemd 脚本的 config 文件夹的正确路径的任何想法。

【问题讨论】:

  • 以什么方式不起作用?你得到什么错误?
  • 我刚刚修好了。当我使用以下命令 service tomcat start 启动 tomcat 时,它不起作用。实际上没有加载外部属性文件,而是使用了内部属性。

标签: java tomcat systemd properties-file


【解决方案1】:

我已在单元文件中使用以下行修复它:

WorkingDirectory=/opt/tomcat/bin

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 2013-02-28
    • 2017-01-24
    • 1970-01-01
    • 2022-01-15
    • 2013-05-07
    • 2014-08-14
    相关资源
    最近更新 更多