[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);
  |       }
  |    }
http://anonsvn.jboss.org/repos/jbossas/branches/Branch_4_2/connector/src/main/org/jboss/resource/adapter/jdbc/BaseWrapperManagedConnection.java

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