[jboss-user] [JCA/JBoss] - Re: JBoss Connection Socket usage in error scenarios

vickyk do-not-reply at jboss.com
Tue Apr 22 01:43:40 EDT 2008

"dkilley" wrote : > 
  | - Sockets to the secondary DB were just fine, but the SQL level check (like select 1) failed, due a permissions issue. The application is not database critical, so functionality could of continued, however each user would go through this same process, each time a socket would be left open, eventually a starvation of file handles happened.

If the match fails the Jboss Pool implementation does call the destroy() on the related ManagedConnection object , the destroy implementation basically closes the SQL connection , have a look at the code 
public void destroy() throws ResourceException
  |    {
  |       synchronized (stateLock)
  |       {
  |          destroyed = true;
  |       }
  |       cleanup();
  |       try
  |       {
  |          con.close();
  |       }
  |       catch (SQLException ignored)
  |       {
  |          getLog().trace("Ignored error during close: ", ignored);
  |       }
  |    }

You can enable the log trace to see if the SQL connection close() in getting called if the match connection fails .
We certainly need more details/evidents to sort this out .

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4145681#4145681

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4145681

More information about the jboss-user mailing list