代码之家  ›  专栏  ›  技术社区  ›  Paul Whelan

Java spring数据库应用程序不会退出对org.enhydra.jdbc.pool.PoolKeeper的引用仍然处于活动状态为什么?

  •  0
  • Paul Whelan  · 技术社区  · 16 年前

    大家好,我有一个简单的Spring应用程序,它不会结束,因为仍然有对org.enhydra.jdbc.pool.PoolKeeper的引用。我在下面列出了所有我觉得有意义的参考资料。它看起来还好吗?以前有人经历过吗?

    "Thread-1" prio=10 tid=0x00007f89b03d8000 nid=0x755 in Object.wait() [0x00007f89bc243000]    java.lang.Thread.State: TIMED_WAITING (on object monitor)  at java.lang.Object.wait(Native Method)
        - waiting on <0x00007f89ec57de00> (a org.enhydra.jdbc.pool.PoolKeeper)  at org.enhydra.jdbc.pool.PoolKeeper.run(PoolKeeper.java:55)
        - locked <0x00007f89ec57de00> (a org.enhydra.jdbc.pool.PoolKeeper)  at java.lang.Thread.run(Thread.java:619)
    

    <bean id="innerDataSource" class="org.enhydra.jdbc.standard.StandardXADataSource"
        destroy-method="shutdown">
        <property name="transactionManager" ref="jotm" />
        <property name="driverName" value="${jdbc.driverClassName}"/>
        <property name="url" value ="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>
    <bean id="dataSource" class="org.enhydra.jdbc.pool.StandardXAPoolDataSource"
        destroy-method="shutdown">
        <property name="dataSource" ref="innerDataSource"/>
        <property name="user" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        <property name="maxSize" value="100" />
        <!-- test your jdbc connection before using it -->
        <property name="checkLevelObject" value="${jdbc.checkLevelObject}"/>
        <property name="jdbcTestStmt" value="${jdbc.jdbcTestStmt}"/>
    </bean>
    

    谢谢 保罗

    2 回复  |  直到 16 年前
        1
  •  1
  •   Chin Huang    16 年前

    Web应用程序通常使用配置Spring应用程序上下文 ContextLoaderListener ,它在Web应用程序停止时关闭应用程序上下文。

    close 方法,该方法调用在 destroy-method 属性,同时销毁bean。或者,致电 registerShutdownHook 方法注册关闭钩子,该钩子在JVM关闭时关闭应用程序上下文。

        2
  •  0
  •   SingleShot    16 年前

    stopPool() destroy-method