You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Meindert <me...@pastelebusiness.com> on 2005/06/23 12:35:49 UTC

No operations allowed after connection closed.

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


Re: No operations allowed after connection closed.

Posted by Jerome Gagner <ph...@gmail.com>.
hmm, seems there's two emails on this. Here is what I said in the other
email thread

"To ammend my previous email, the the reason you need ?autoReconnect=true
with MySQL is because the server explicitly closes the connection after a
period of inactivity, which causes a problem with pooling, as DBCP will keep
a few connections open depending on your configuration. The working after a
refresh can be explained by DBCP throwing away the connection, and creating
a new one."

On 3/22/07, Jerome Gagner <ph...@gmail.com> wrote:
>
> I believe there is an argument you need in the connections string
> "?autoReconnect=true"
>
> On 3/22/07, bca <be...@gmail.com> wrote:
> >
> > meinder or anyone that can help:
> >
> > I'm having the same issue..
> > meinder - did using another driver resolve the issue for you ?..
> >
> > 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 <me...@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.
> >
> >
>

RE: No operations allowed after connection closed.

Posted by Jerome Gagner <ph...@gmail.com>.
I believe there is an argument you need in the connections string
"?autoReconnect=true"

On 3/22/07, bca <be...@gmail.com> wrote:
>
> meinder or anyone that can help:
>
> I'm having the same issue..
> meinder - did using another driver resolve the issue for you ?..
>
> 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 <me...@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.
>
>

RE: No operations allowed after connection closed.

Posted by Meindert <me...@pastelebusiness.com>.
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 <me...@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.


RE: No operations allowed after connection closed.

Posted by bca <be...@gmail.com>.
meinder or anyone that can help: 

I'm having the same issue.. 
meinder - did using another driver resolve the issue for you ?.. 

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 <me...@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.


RE: No operations allowed after connection closed.

Posted by Meindert <me...@pastelebusiness.com>.
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 <me...@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


Re: No operations allowed after connection closed.

Posted by Brandon Goodin <br...@gmail.com>.
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 <me...@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