【问题标题】:Tomcat not stoppingTomcat没有停止
【发布时间】:2014-06-24 17:49:45
【问题描述】:

我正在使用休眠来查询 PostGre DB 以获取数据。 休眠配置是: 真的

    <!-- configuration pool via c3p0 -->
    <property name="c3p0.initialPoolSize">10</property>
    <property name="c3p0.maxPoolSize">1000</property>

    <property name="c3p0.timeout">300</property> <!-- seconds -->

    <property name="c3p0.acquireIncrement">1</property>
    <property name="c3p0.maxStatements">0</property>

我在tomcat中设置环境变量为:

<Resource name="jdbc/jingdb" auth="container" type="javax.sql.DataSource"
        maxActive="-1" maxIdle="-1" maxWait="10000" validationQuery="select 1"
        username = "test" password="test" driverClassName="org.postgresql.Driver"
        url="jdbc:postgresql://<IP>:5432/jing_users">

但是当我关闭tomcat时,我无法关闭它,尽管我通过调用关闭了dao中的所有会话对象:

session.close()

如果我键入,则在调用 shutdown.sh 之后

ps -ef|grep java 我得到:

root     13199     1 49 22:54 pts/0    00:00:29 /usr/share/java-1.7.0/jdk1.7.0_03/bin/java -Djava.util.logging.config.file=/usr/share/tomcat/apache-tomcat-7.0.53/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -DJING_CONFIGURATION_FILE_LOCATION=/usr/share/tomcat/apache-tomcat-7.0.53/webapps/authenticationweb/WEB-INF/classes/keystore.properties -Djava.endorsed.dirs=/usr/share/tomcat/apache-tomcat-7.0.53/endorsed -classpath /usr/share/tomcat/apache-tomcat-7.0.53/bin/bootstrap.jar:/usr/share/tomcat/apache-tomcat-7.0.53/bin/tomcat-juli.jar -Dcatalina.base=/usr/share/tomcat/apache-tomcat-7.0.53 -Dcatalina.home=/usr/share/tomcat/apache-tomcat-7.0.53 -Djava.io.tmpdir=/usr/share/tomcat/apache-tomcat-7.0.53/temp org.apache.catalina.startup.Bootstrap start

【问题讨论】:

    标签: hibernate tomcat tomcat7


    【解决方案1】:

    看看这个文件:

    http://www.linuxquestions.org/questions/linux-software-2/how-to-stop-tomcat-6-0-a-940165/

    上面写着:

    如果您编辑shutdown.sh,您将看到它使用您传递给shutdown的参数调用catalina.sh。

    你可以试试:

    ./shutdown 5 -force
    

    如果 5 秒内没有停止,则强制停止 tomcat。

    要知道实例是否正在运行,您可以配置变量 CATALINA_PID。 建议在定义变量的地方创建一个名为 $CATALINA_BASE/bin/setenv.sh 的文件(并设置 +x 权限): 示例:

    export ANT_HOME=/opt/ant
    export JAVA_HOME=/opt/java6
    export JAVA_OPTS="-XX:PermSize=128m -XX:MaxPermSize=256m"
    export CATALINA_HOME="/opt/tomcat6"
    export CATALINA_BASE="$CATALINA_BASE"
    export CATALINA_TMPDIR=$CATALINA_BASE/temp
    export CATALINA_PID="$CATALINA_HOME/run/tomcat6-instance1"
    The setenv.sh is read automatically when starting and stopping tomcat.
    

    您必须创建 $CATALINA_HOME/run 目录。

    如果你想知道tomcat是否启动,

    ls $CATALINA_HOME/run
    

    将列出已启动的实例。

    【讨论】: