tomcat服務(wù)器宕機(jī)解決方案
報(bào)錯(cuò)信息:
java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)
每次出現(xiàn)這個(gè)報(bào)錯(cuò)都會(huì)導(dǎo)致tomcat應(yīng)用服務(wù)器停機(jī),加了下面的java代碼后就再也沒(méi)有停過(guò)了。
解決辦法:
編寫(xiě)Java代碼
package cn.listener; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Enumeration; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; import com.mysql.jdbc.AbandonedConnectionCleanupThread; @WebListener public class ContextFinalizer implements ServletContextListener { public void contextInitialized(ServletContextEvent sce) { } public void contextDestroyed(ServletContextEvent sce) { Enumeration<Driver> drivers = DriverManager.getDrivers(); Driver d = null; while (drivers.hasMoreElements()) { try { d = drivers.nextElement(); DriverManager.deregisterDriver(d); System.out.println(String.format("ContextFinalizer:Driver %s deregistered", d)); } catch (SQLException ex) { System.out.println(String.format("ContextFinalizer:Error deregistering driver %s", d) + ":" + ex); } } try { AbandonedConnectionCleanupThread.shutdown(); } catch (InterruptedException e) { System.out.println("ContextFinalizer:SEVERE problem cleaning up: " + e.getMessage()); e.printStackTrace(); } } }
@WebListener,這個(gè)注解相當(dāng)于在web.xml配置如下內(nèi)容
<listener> <listener-class>cn.listener.ContextFinalizer</listener-class> </listener>
解決方案可以參考如下網(wǎng)址
當(dāng)然還有就是我再參考這個(gè)解決方案的時(shí)候,發(fā)現(xiàn)mysql-connection如果版本過(guò)低會(huì)導(dǎo)致上述列出的Java代碼報(bào)錯(cuò),通過(guò)提高mysql-connection.java的版本即可解決該問(wèn)題
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于tomcat部署應(yīng)用無(wú)法訪問(wèn)前端頁(yè)面的問(wèn)題
這篇文章主要介紹了關(guān)于tomcat部署應(yīng)用無(wú)法訪問(wèn)前端頁(yè)面的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11解決Tomcat的maxPostSize屬性的配置需要注意的問(wèn)題
這篇文章主要介紹了解決Tomcat的maxPostSize屬性的配置需要注意的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07學(xué)習(xí)javaweb如何配置Tomcat的熱啟動(dòng)
學(xué)習(xí)javaweb的時(shí)候每次更改項(xiàng)目都需要重新部署項(xiàng)目,如此一來(lái)比較麻煩,使用tomcat的熱啟動(dòng)就可以解決這個(gè)問(wèn)題2014-09-09tomcat常見(jiàn)的錯(cuò)誤與解決方案小結(jié)
web容器其實(shí)都是tomcat,但tomcat的內(nèi)核很豐富,如果要完全理解需要很長(zhǎng)的時(shí)間和較多的編程經(jīng)驗(yàn)。不管是初學(xué)者還是有經(jīng)驗(yàn)的web程序員,使用Tomcat容器的時(shí)候會(huì)發(fā)生包括404,運(yùn)行啟動(dòng)錯(cuò)誤,以及亂碼等等的問(wèn)題,本文將開(kāi)發(fā)過(guò)程中遇到的常見(jiàn)錯(cuò)誤和簡(jiǎn)單解決方法分享給大家。2016-11-11快速解決Tomcat重新配置后啟動(dòng)慢的問(wèn)題
這篇文章主要介紹了解決Tomcat重新配置后啟動(dòng)慢的問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02tomcat 實(shí)現(xiàn)會(huì)話綁定的方法步驟
這篇文章主要介紹了tomcat 實(shí)現(xiàn)會(huì)話綁定的方法步驟2024-03-03IDEA編輯器整合Apache Tomcat的詳細(xì)教程
這篇文章主要介紹了IDEA編輯器整合Apache Tomcat教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Tomcat 5.5 數(shù)據(jù)庫(kù)連接池配置
我用的數(shù)據(jù)庫(kù)是MySQL5.5,所以首先要把MySQL的JDBC驅(qū)動(dòng)程序拷貝到Tomcat安裝目錄的/common/lib下和你自己網(wǎng)站的/WEB-INF/lib下。2009-08-08