Update of /cvsroot/proxool/proxool/src/java/org/logicalcobwebs/proxool
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27909/src/java/org/logicalcobwebs/proxool
Modified Files:
ProxoolFacade.java
Log Message:
Recheck isPoolExists inside synchronized registerConnectionPool method. Credit Juergen Hoeller.
Index: ProxoolFacade.java
===================================================================
RCS file: /cvsroot/proxool/proxool/src/java/org/logicalcobwebs/proxool/ProxoolFacade.java,v
retrieving revision 1.80
retrieving revision 1.81
diff -C2 -d -r1.80 -r1.81
*** ProxoolFacade.java 2 Jun 2004 20:47:05 -0000 1.80
--- ProxoolFacade.java 29 Sep 2004 15:43:25 -0000 1.81
***************
*** 97,110 ****
}
! protected static void registerConnectionPool(ConnectionPoolDefinition connectionPoolDefinition) throws ProxoolException {
! Properties jndiProperties = extractJndiProperties(connectionPoolDefinition);
! ConnectionPool connectionPool = ConnectionPoolManager.getInstance().createConnectionPool(connectionPoolDefinition);
! connectionPool.start();
! compositeProxoolListener.onRegistration(connectionPoolDefinition, connectionPoolDefinition.getCompleteInfo());
! if (isConfiguredForJMX(connectionPoolDefinition.getCompleteInfo())) {
! registerForJmx(connectionPoolDefinition.getAlias(), connectionPoolDefinition.getCompleteInfo());
! }
! if (jndiProperties != null) {
! registerDataSource(connectionPoolDefinition.getAlias(), jndiProperties);
}
}
--- 97,115 ----
}
! protected synchronized static void registerConnectionPool(ConnectionPoolDefinition connectionPoolDefinition) throws ProxoolException {
! // check isPoolExists once more now we are inside synchronized block.
! if (!ConnectionPoolManager.getInstance().isPoolExists(connectionPoolDefinition.getAlias())) {
! Properties jndiProperties = extractJndiProperties(connectionPoolDefinition);
! ConnectionPool connectionPool = ConnectionPoolManager.getInstance().createConnectionPool(connectionPoolDefinition);
! connectionPool.start();
! compositeProxoolListener.onRegistration(connectionPoolDefinition, connectionPoolDefinition.getCompleteInfo());
! if (isConfiguredForJMX(connectionPoolDefinition.getCompleteInfo())) {
! registerForJmx(connectionPoolDefinition.getAlias(), connectionPoolDefinition.getCompleteInfo());
! }
! if (jndiProperties != null) {
! registerDataSource(connectionPoolDefinition.getAlias(), jndiProperties);
! }
! } else {
! LOG.debug("Ignoring duplicate attempt to register " + connectionPoolDefinition.getAlias() + " pool");
}
}
***************
*** 801,804 ****
--- 806,812 ----
Revision history:
$Log$
+ Revision 1.81 2004/09/29 15:43:25 billhorsman
+ Recheck isPoolExists inside synchronized registerConnectionPool method. Credit Juergen Hoeller.
+
Revision 1.80 2004/06/02 20:47:05 billhorsman
Override shutdown with a zero-parameter version for Spring integration.
|