在學(xué)習(xí)Android時(shí),有遇到過一個(gè)問題。我用個(gè)人電腦安裝了Windows Server 2012 系統(tǒng),并且搭建了個(gè)人服務(wù)器,用于手機(jī)app的數(shù)據(jù)存儲。在使用MyEclipse里運(yùn)行WebServer項(xiàng)目啟動(dòng)Tomcat時(shí)一切正常,當(dāng)我把服務(wù)掛了一晚之后。手機(jī)app卻無法連接到服務(wù)器了,打開MyEclipse發(fā)現(xiàn)報(bào)了一個(gè):
STACKTRACE:com.MySQL.jdbc.CommunicationsException: Communications link failure due to underlying exception:** BEGIN NESTED EXCEPTION **java.net.SocketExceptionMESSAGE: Software caused connection abort: socket write errorSTACKTRACE:java.net.SocketException: Software caused connection abort: socket write errorat java.net.SocketOutputStream.socketWrite0(Native Method)... ... ...乍一看,只是網(wǎng)絡(luò)異常。可能是網(wǎng)絡(luò)環(huán)境發(fā)生了變化產(chǎn)生的異常,導(dǎo)致socket連接中斷。之前沒遇到過這種問題,是因?yàn)榉?wù)都是每次測試完就關(guān)閉。現(xiàn)在既然是把服務(wù)端搭建在服務(wù)器系統(tǒng)上,自然不會頻繁關(guān)閉和啟動(dòng)。我更換了較為穩(wěn)定的網(wǎng)絡(luò)后,重新運(yùn)行Tomcat,并且依然掛在后臺。第二天,同樣的問題還是發(fā)生了。我想這肯定不是網(wǎng)絡(luò)的原因,于是仔細(xì)分析了Log,發(fā)現(xiàn)第二行有提到mysql的異常。我想:mysql會不會是服務(wù)器長時(shí)間無操作,長連接為了節(jié)省資源自動(dòng)斷開了呢?于是我找到mysql的配置文件:MySQL Server 5.5 - my.ini,打開配置文件,的確找到了wait_timeout這一項(xiàng),于是我修改了一下數(shù)值。

315360000秒,也就是10年。這樣總夠用吧!保存修改,重啟項(xiàng)目。過一天再看,項(xiàng)目保持正常,沒有報(bào)錯(cuò),猜想正確~
新聞熱點(diǎn)
疑難解答