[jboss-cvs] JBossAS SVN: r109098 - projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Nov 3 15:25:04 EDT 2010


Author: jesper.pedersen
Date: 2010-11-03 15:25:04 -0400 (Wed, 03 Nov 2010)
New Revision: 109098

Modified:
   projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/ManagedConnectionPoolFactory.java
Log:
Use the class defnition instead of its fully qualified class name

Modified: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/ManagedConnectionPoolFactory.java
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/ManagedConnectionPoolFactory.java	2010-11-03 19:01:22 UTC (rev 109097)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/ManagedConnectionPoolFactory.java	2010-11-03 19:25:04 UTC (rev 109098)
@@ -44,8 +44,8 @@
    private static final String DEFAULT_IMPLEMENTATION = 
       "org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool";
 
-   /** Actual implementation */
-   private static String defaultImplementation;
+   /** Default class definition */
+   private static Class<?> defaultImplementation;
 
    static
    {
@@ -53,12 +53,23 @@
 
       if (clz != null && !clz.trim().equals(""))
       {
-         defaultImplementation = clz.trim();
+         clz = clz.trim();
       }
       else
       {
-         defaultImplementation = DEFAULT_IMPLEMENTATION;
+         clz = DEFAULT_IMPLEMENTATION;
       }
+
+      try
+      {
+         defaultImplementation = Class.forName(clz, 
+                                               true, 
+                                               ManagedConnectionPoolFactory.class.getClassLoader());
+      }
+      catch (Throwable t)
+      {
+         throw new RuntimeException("Unable to load default managed connection pool implementation: " + clz);
+      }
    }
 
    /**
@@ -87,7 +98,9 @@
                                        Logger log) 
       throws Throwable
    {
-      return create(defaultImplementation, mcf, clf, subject, cri, pc, p, spc, log);
+      ManagedConnectionPool mcp = (ManagedConnectionPool)defaultImplementation.newInstance();
+      
+      return init(mcp, mcf, clf, subject, cri, pc, p, spc, log);
    }
 
    /**
@@ -117,6 +130,27 @@
       
       ManagedConnectionPool mcp = (ManagedConnectionPool)clz.newInstance();
       
+      return init(mcp, mcf, clf, subject, cri, pc, p, spc, log);
+   }
+
+   /**
+    * Initialize
+    * @param mcp The managed connection pool
+    * @param mcf the managed connection factory
+    * @param clf the connection listener factory
+    * @param subject the subject
+    * @param cri the connection request info
+    * @param pc the pool configuration
+    * @param p The pool
+    * @param spc The subpool context
+    * @param log The logger for the managed connection pool
+    * @return The initialized managed connection pool
+    */
+   private ManagedConnectionPool init(ManagedConnectionPool mcp, 
+                                      ManagedConnectionFactory mcf, ConnectionListenerFactory clf, Subject subject,
+                                      ConnectionRequestInfo cri, PoolConfiguration pc, Pool p, SubPoolContext spc,
+                                      Logger log)
+   {
       mcp.initialize(mcf, clf, subject, cri, pc, p, spc, log);
 
       return mcp;



More information about the jboss-cvs-commits mailing list