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 Fri, 23 Mar 2007 07:15:10 GMT
Hi Benny,

 

>meindert or anyone that can help: 

Hee, I see my name :-)

 

>I'm having the same issue.. 

>meindert - did using another driver resolve the issue for you ?.. 

That was quite an old post, and no, changing driver didn't help.

 

I did fix it by adding a 'ping query'. You do a bogus select on a old
connection before using it. 

Works for me on MySql and Sql Server. Maybe you configured your ping wrong?

<transactionManager type="JDBC">

    <dataSource type="SIMPLE">

      <property value="${driver}" name="JDBC.Driver"/>

      <property value="${url}" name="JDBC.ConnectionURL"/>

      <property value="${username}" name="JDBC.Username"/>

      <property value="${password}" name="JDBC.Password"/>

      <property value="15" name="Pool.MaximumActiveConnections"/>

      <property value="15" name="Pool.MaximumIdleConnections"/>

      <property value="1000" name="Pool.MaximumWait"/>

      <property name="Pool.PingQuery" value="SELECT 1"/>

      <property name="Pool.PingEnabled" value="true" />

      <property name="Pool.PingConnectionsOlderThan" value="1000000" />

    </dataSource>

  </transactionManager>

 

Kind Regards

 Meindert

 

 

error i'm getting:

Cause: com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: No

operations allowed after connection closed.Connection was implicitly closed

due to underlying exception/error

 

This happens on ocassion..... only when it has been idle for a long

time.....  

 

i have a link 'schedule' that retrieves some data from the database.. 

i can click on it now.. and everything works fine.....  and i'll click on it

again (maybe 10 seconds later), it still works.. 

 

but if i wait a long time... say like an hour.. and then click on the

schedule link again.... it gives me the error shown above.. 

 

i've tried putting the ping query in my sql config.. but that doesn't help..


 

any suggestions ?

 

Thanks

 

 

Meindert wrote:

> 

> 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

> 

> 

> 

 

-- 

View this message in context:
http://www.nabble.com/No-operations-allowed-after-connection-closed.-tf95625
.html#a9621439

Sent from the iBATIS - User - Java mailing list archive at Nabble.com.


Mime
View raw message