・環境
Linux(RHEL7)環境でTomcat7を使用しています。
・発生している事象
旧環境からTomcatのアプリケーションプログラムを移植し、
systemdでTomcatの起動・停止を行っているのですが、
destroyメソッドが呼び出されません。(initメソッドは呼び出されます。)
catalinaログとlocalhostログを見る限りエラーは発生しておらず、ブラウザから応答も出来ています。
試しにServletContextListenerを使用してみましたが、contextInitializedメソッドだけが呼び出され、
contextDestroyedメソッドは呼び出されませんでした。
アプリケーション自体は旧環境(RHEL6・Tomcat3)で動作しており、
Windows環境(Win10・tomcat9)でも動作確認済です。
アプリケーションに誤りは見られないことから、systemdによりdestroyメソッドが
呼び出されていないのではないかと予測しているのですが、対処方法が分からない状態です。
(RHEL7ではパッケージコマンドからTomcatをインストールしているため、
bin配下に起動シェルなどはありません。)
原因についてご教授いただければと思います。
・/usr/lib/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=simple
EnvironmentFile=/etc/tomcat/tomcat.conf
Environment="NAME"=
EnvironmentFile=/etc/sysconfig/tomcat
ExecStart=/usr/libexec/tomcat/server start
ExecStop=/usr/libexec/tomcat/server stop
SuccessExitStatus=143
RemainAfterExit=yes
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
あなたの回答
tips
プレビュー