You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Jean-Pierre Astier <jp...@janvier.fr> on 2007/10/18 11:31:07 UTC

jdbc in tomcat problem

Hi all,

I've got a problem with jdbc 5.1.5 in tomcat 5.5.17.

I have a servlet who retrieve images from mysql 4.1.22 to put them in  
a jsp page.

Here is the tomcat log :

------------------------------------------------------------------------ 
------------------------------------------------------------------------ 
----
com.mysql.jdbc.CommunicationsException: Communications link failure

Last packet sent to the server was 17 ms ago.
         at com.mysql.jdbc.SQLError.createCommunicationsException 
(SQLError.java:1070)
         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2873)
         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2763)
         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3299)
         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1837)
         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961)
         at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java: 
2537)
         at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java: 
2466)
         at com.mysql.jdbc.StatementImpl.executeQuery 
(StatementImpl.java:1383)
         at com.maison.myphototheque.metier.myPhotothequeDAO.getImage 
(myPhotothequeDAO.java:181)
         at  
com.maison.myphototheque.metier.myPhotothequeBusinessFacade.getImage 
(myPhotothequeBusinessFacade.java:45)
         at  
com.maison.myphototheque.beans.myPhotothequeBusinessDelegate.getImage 
(myPhotothequeBusinessDelegate.java:42)
         at com.maison.myphototheque.servlets.showImage.service 
(showImage.java:69)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at  
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter 
(ApplicationFilterChain.java:173)
         at  
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter 
(MonitorFilter.java:368)
         at  
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
(ApplicationFilterChain.java:202)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter 
(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke 
(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke 
(StandardContextValve.java:178)
         at org.apache.catalina.core.StandardHostValve.invoke 
(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke 
(ErrorReportValve.java:105)
         at org.apache.catalina.core.StandardEngineValve.invoke 
(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service 
(CoyoteAdapter.java:148)
         at org.apache.coyote.http11.Http11Processor.process 
(Http11Processor.java:869)
         at org.apache.coyote.http11.Http11BaseProtocol 
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket 
(PoolTcpEndpoint.java:527)
         at  
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt 
(LeaderFollowerWorkerThread.java:80)
         at org.apache.tomcat.util.threads.ThreadPool 
$ControlRunnable.run(ThreadPool.java:684)
         at java.lang.Thread.run(Thread.java:613)
Caused by: java.net.SocketException: Socket closed
         at java.net.SocketInputStream.socketRead0(Native Method)
         at java.net.SocketInputStream.read(SocketInputStream.java:129)
         at com.mysql.jdbc.util.ReadAheadInputStream.fill 
(ReadAheadInputStream.java:113)
         at  
com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNeces 
sary(ReadAheadInputStream.java:160)
         at com.mysql.jdbc.util.ReadAheadInputStream.read 
(ReadAheadInputStream.java:188)
         at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2329)
         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2774)
         ... 29 more

------------------------------------------------------------------------ 
----------------------------

Any ideas ???

Thanks

Jean-Pierre

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: jdbc in tomcat problem

Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
I just saw that you are not using Tomcat's connection pool,
the reason still stands, the socket connection is closed when you try to 
execute the query.
if you are using a cached connection, then implement a fail safe or use 
Tomcat's connection pool, that already has this functionality

Filip

Filip Hanik - Dev Lists wrote:
> yes, either MySQL or something else on the network closed the connection
>
> Caused by: java.net.SocketException: Socket closed
>
> if you are using the connection pool, make sure you have set
>
> testOnBorrow="true"
> validationQuery="SELECT 1"
>
> so that it validates each connection for you
>
> Filip
>
> Jean-Pierre Astier wrote:
>> Hi all,
>>
>> I've got a problem with jdbc 5.1.5 in tomcat 5.5.17.
>>
>> I have a servlet who retrieve images from mysql 4.1.22 to put them in 
>> a jsp page.
>>
>> Here is the tomcat log :
>>
>> ---------------------------------------------------------------------------------------------------------------------------------------------------- 
>>
>> com.mysql.jdbc.CommunicationsException: Communications link failure
>>
>> Last packet sent to the server was 17 ms ago.
>>         at 
>> com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1070) 
>>
>>         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2873)
>>         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2763)
>>         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3299)
>>         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1837)
>>         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961)
>>         at 
>> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2537)
>>         at 
>> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2466)
>>         at 
>> com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1383)
>>         at 
>> com.maison.myphototheque.metier.myPhotothequeDAO.getImage(myPhotothequeDAO.java:181) 
>>
>>         at 
>> com.maison.myphototheque.metier.myPhotothequeBusinessFacade.getImage(myPhotothequeBusinessFacade.java:45) 
>>
>>         at 
>> com.maison.myphototheque.beans.myPhotothequeBusinessDelegate.getImage(myPhotothequeBusinessDelegate.java:42) 
>>
>>         at 
>> com.maison.myphototheque.servlets.showImage.service(showImage.java:69)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>         at 
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) 
>>
>>         at 
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
>>
>>         at 
>> org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368) 
>>
>>         at 
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 
>>
>>         at 
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
>>
>>         at 
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
>>
>>         at 
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) 
>>
>>         at 
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 
>>
>>         at 
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
>>
>>         at 
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 
>>
>>         at 
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
>>
>>         at 
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 
>>
>>         at 
>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) 
>>
>>         at 
>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) 
>>
>>         at 
>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) 
>>
>>         at 
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) 
>>
>>         at java.lang.Thread.run(Thread.java:613)
>> Caused by: java.net.SocketException: Socket closed
>>         at java.net.SocketInputStream.socketRead0(Native Method)
>>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>>         at 
>> com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) 
>>
>>         at 
>> com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) 
>>
>>         at 
>> com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) 
>>
>>         at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2329)
>>         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2774)
>>         ... 29 more
>>
>> ---------------------------------------------------------------------------------------------------- 
>>
>>
>> Any ideas ???
>>
>> Thanks
>>
>> Jean-Pierre
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
>


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: jdbc in tomcat problem

Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
yes, either MySQL or something else on the network closed the connection

Caused by: java.net.SocketException: Socket closed

if you are using the connection pool, make sure you have set

testOnBorrow="true"
validationQuery="SELECT 1"

so that it validates each connection for you

Filip

Jean-Pierre Astier wrote:
> Hi all,
>
> I've got a problem with jdbc 5.1.5 in tomcat 5.5.17.
>
> I have a servlet who retrieve images from mysql 4.1.22 to put them in 
> a jsp page.
>
> Here is the tomcat log :
>
> ---------------------------------------------------------------------------------------------------------------------------------------------------- 
>
> com.mysql.jdbc.CommunicationsException: Communications link failure
>
> Last packet sent to the server was 17 ms ago.
>         at 
> com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1070)
>         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2873)
>         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2763)
>         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3299)
>         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1837)
>         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961)
>         at 
> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2537)
>         at 
> com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2466)
>         at 
> com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1383)
>         at 
> com.maison.myphototheque.metier.myPhotothequeDAO.getImage(myPhotothequeDAO.java:181) 
>
>         at 
> com.maison.myphototheque.metier.myPhotothequeBusinessFacade.getImage(myPhotothequeBusinessFacade.java:45) 
>
>         at 
> com.maison.myphototheque.beans.myPhotothequeBusinessDelegate.getImage(myPhotothequeBusinessDelegate.java:42) 
>
>         at 
> com.maison.myphototheque.servlets.showImage.service(showImage.java:69)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) 
>
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
>
>         at 
> org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368) 
>
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 
>
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
>
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
>
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) 
>
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 
>
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
>
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 
>
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
>
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 
>
>         at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) 
>
>         at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) 
>
>         at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) 
>
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) 
>
>         at java.lang.Thread.run(Thread.java:613)
> Caused by: java.net.SocketException: Socket closed
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>         at 
> com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) 
>
>         at 
> com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) 
>
>         at 
> com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) 
>
>         at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2329)
>         at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2774)
>         ... 29 more
>
> ---------------------------------------------------------------------------------------------------- 
>
>
> Any ideas ???
>
> Thanks
>
> Jean-Pierre
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
>


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org