시작 스크립트를 만들 때 /etc/init.d
하고 export
변수의 변수는이 변수를 유지하고 "볼 수"있습니다.
시작된 프로세스?
구체적으로는 initd에서 tomcat을 시작하기 위해 다음 스크립트를 사용합니다. start
:
#!/bin/bash
RETVAL=$?
export JRE_HOME=/home/jre
export PATH=/home/jre/bin/:${PATH}
export CATALINA_HOME=/home/apache-tomcat-7.0.25
case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
/bin/su root $CATALINA_HOME/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
/bin/su root $CATALINA_HOME/bin/shutdown.sh
fi
;;
restart)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
/bin/su root $CATALINA_HOME/bin/shutdown.sh
fi
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
/bin/su root $CATALINA_HOME/bin/startup.sh
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
exit $RETVAL
이제는 Tomcat에서 연결 풀링을 사용하고 있습니다. 그리고 나서 절대 URL을 사용하면 모든 것이 정상적으로 작동합니다. 나는 url="jdbc:h2:file:/home/apache-tomcat-7.0.25/webapps/myDB;SCHEMA=mySchema"
그러나 상대 URL, 즉 $CATALINA_HOME
즉 url="jdbc:h2:file:$CATALINA_HOME\webapps\myDB;SCHEMA=mySchema"
이것은 작동하지 않으며 JNDI 예외가 발생합니다.
내 스크립트에서 내 보낸 것을 유의하십시오. $CATALINA_HOME
되려고 /home/apache-tomcat-7.0.25
그것은 마치 $CATALINA_HOME
Tomcat의 시작된 인스턴스에 대해 설정되지 않았습니다.
이것이 사실 일 수 있습니까? 환경 변수가있는 URL이 작동하지 않는 이유는 누구나 알 수 있습니까?