I'm experiencing some memory leaks with Geronimo JCA implementation. While I'm trying to find out where is the problem I saw another minor problem:
SubjectCRIKey must overrides hashCode. If not the getConnection will always create new pools: public void getConnection(ConnectionInfo connectionInfo) throws ResourceException { <...> SinglePoolConnectionInterceptor poolInterceptor = null; synchronized (pools) { poolInterceptor = (SinglePoolConnectionInterceptor) pools.get(key); Maybe that is the reason of the memory leak. Anyway, still digging... Regards, hammett