ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Meindert" <meind...@pastelebusiness.com>
Subject RE: No operations allowed after connection closed.
Date Wed, 29 Jun 2005 07:16:04 GMT
I have replaced my JDBC driver but am still having the same problem.

 

Looked a bit around on google and got the following tip:

>We solved this same problem by doing essentially what Mark advises
>below.

>We set the wait_timeout on the server to be a very large number and the
>idle timeout for our connection pool to be fairly small. For what we are
>doing, the time required to create a new connection is not very
>significant, so we usually have the idle timeout for connections in the
>pool set to just a few minutes.

>Applications using our connection pool can specify an optional
>configuration property that the pool manager will use to validate the
>connection before it is returned to the application. "SELECT 1" seems to
>be succinct, safe, and performant. If the query fails, the connection is
>removed from the pool and another one is tried. If the pool is empty, of
>course, a new connection is created.

>Robert Stewart

 

Will play around with this, but thought this could be some handy info for
users with the same problem

 

Meindert

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

I have also seen this same error using a thin client. The first quesy throws
a exception about closed connection then creates a new connection and
carries on. I am using the same version of mysql but connector 3.1.6.. When
i use the same client same queries against our hsqldb db we never get the
problem.  I have been working on the hsqldb side for a while and assumed  it
was an error in my code which i would fix later. i have a newer 

version of mysql 4.1.12 which is our new base line so i will try it out on
this database and let you know.. But it sounds like a bug in the driver?

Steve.. 

-----Original Message----- 
From: Meindert [mailto:meindert@pastelebusiness.com] 
Sent: Thu 6/23/2005 2:19 PM 
To: user-java@ibatis.apache.org; 'Brandon Goodin' 
Subject: RE: No operations allowed after connection closed. 
  
Database version: 

mysql-connector-java-3.0.16-ga-bin.jar 

mysql-4.1.9 

To reproduce I open the website on the index page and then close the 
browser, the next day I open the browser again and I get the error. 

The error comes from the connection pool, I find this in my Catalina.out 
log: 

  

DEBUG [http-80-Processor25] - Returned connection 12839271 to pool.  (This 
was the day before) 

DEBUG [http-80-Processor24] - Checked out connection 12839271 from pool. 
(The connection for the paginated list on my index.shtml page) 

DEBUG [http-80-Processor24] - {conn-100045} Connection 

DEBUG [http-80-Processor24] - A bad connection (12839271) attempted to 
return to the pool, discarding connection. 

  

The query fails and the index page comes up and prints the exception trace. 

Pressing F5 reloads the page and fetches a new connection that succeeds. 

  

The connection is used for: 
setEmployeeList(dailyBulletinService.getOutStaff()); 

  

Is this enough info? 

  

  

MEINDERT HOVING 

Developer, Pastel Payroll 

  

Direct: 

+27 (21) 680 9015 

Main: 

+27 (21) 680 9000 

Fax: 

+27 (21) 680 9090 

meindert@pastelebusiness.com 

www.pastel.co.za 

  

9 out of 10 accountants recommend PASTEL Accounting 

  

-----Original Message----- 
From: Brandon Goodin [mailto:brandon.goodin@gmail.com] 
Sent: Thursday, June 23, 2005 1:18 PM 
To: user-java@ibatis.apache.org 
Subject: Re: No operations allowed after connection closed. 

  

Meindert, 

  

Please provide more information. I can't really tell what is happening 

in your situation. If you Servlet Session is timing out it should have 

not affect on the database connection. My notion is that it is 

something else. Please provide the database and driver with versions 

that you are using and a more specific description of what the 

application is doing when you experience this error. 

  

Thanks 

Brandon 

  

On 6/23/05, Meindert <meindert@pastelebusiness.com> wrote: 

>  

>  

>  

> 

> How can I force a reconnect after a session has been timed out 

>  ________________________________ 

>  

> 

> I was hoping anybody could help me here, it is probably a stupid thing but

I 

> can't seem to find the answer.. 

> 

> My application is based on the jpetshop. 

> 

>   

> 

> Anyway, I have on my main page a paginated list (employeeList) that must 
be 

> fetched every time the page is loaded. 

> 

> I set it to null in the reset method of the bean 

> 

>   

> 

> public void reset() { 

> 

>     pageDirection = null; 

> 

>     employeeList = null; 

> 

>   } 

> 

>   

> 

> And I call the service layer to do the (simple) query, when I go to 

> index.shtml 

> 

>   

> 

> public String index() { 

> 

>     setEmployeeList(dailyBulletinService.getOutStaff()); 

> 

>     return "success"; 

> 

>   } 

> 

>   

> 

> My problem is that the page loads with an error "after a while" (I assume 

> after the session times out) 

> 

> Pressing F5 in the browser will clear this error. 

> 

> What am I doing wrong or how do I get ride of it? 

> 

> I'm using mysql, tomcat on a linux machine. 

> 

>   

> 

> The error is: java.sql.SQLException: Communication link failure: 

> java.io.EOFException, underlying cause: null 

> Caused by: java.sql.SQLException: No operations allowed after connection 

> closed. 

>  

> Connection was closed due to the following exception: 

>  

> ** BEGIN NESTED EXCEPTION ** 

>  

> java.sql.SQLException 

> MESSAGE: Communication link failure: java.io.EOFException, underlying 
cause: 

> null 

>  

> ** BEGIN NESTED EXCEPTION ** 

>  

> java.io.EOFException 

>  

>  

> 

>   

> 

> Please help 

> 

>   Meindert 

 


Mime
View raw message