in geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/MultiPoolConnectionInterceptor.java [63:82]
public void getConnection(ConnectionInfo connectionInfo) throws ResourceException {
ManagedConnectionInfo mci = connectionInfo.getManagedConnectionInfo();
SubjectCRIKey key =
new SubjectCRIKey(
useSubject ? mci.getSubject() : null,
useCRI ? mci.getConnectionRequestInfo() : null);
ConnectionInterceptor poolInterceptor = null;
synchronized (pools) {
if (destroyed) {
throw new ResourceException("ConnectionManaged has been destroyed");
}
poolInterceptor = (ConnectionInterceptor) pools.get(key);
if (poolInterceptor == null) {
poolInterceptor = singlePoolFactory.addPoolingInterceptors(next);
pools.put(key, (PoolingAttributes) poolInterceptor);
}
}
poolInterceptor.getConnection(connectionInfo);
connectionInfo.getManagedConnectionInfo().setPoolInterceptor(poolInterceptor);
}