I am trying to use the tomcat jdbc pool library (outside of tomcat) along with the Apache Aries Transaction library in an OSGi environment to handle distributed transactions.
One of the classes (XADataSourceEnlistingWrapper) provided by the Aries Transaction wrappers library is a DataSource wrapper that auto enlists connections. It appears that the Aries class is trying to call XAConnection.getConnection with the expectation that the returned Connection object will recycle connections when the close() method is called (i.e. return the connection to the pool) However, in the tomcat jdbc pooling library PooledConnection.getConnection() (and by extension XAConnection.getConnection()) seems to be returning the physical connection. So the physical connection is getting closed without being returned to the pool and I'm getting exceptions saying the pool is empty after a few requests. It looks like one of these libraries is implementing the interface wrong (or its entirely possible I'm missing something). After reading the J2SE docs for PooledConnection it seems like PooledConnection.getConnection() should not return the physical connection but a handle that when closed indicates the connection should be returned to the pool. If that is the case the tomcat jdbc pooling library handling the call incorrectly and its a bug. I wanted to ask to post here before submitting a bug to the tracker in case I'm missing something. Thanks, Jonathan --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org