Author: dimuthul
Date: Sun Dec  9 18:57:53 2007
New Revision: 10739

Log:

Activating the code for testing the Pool.
There are 5 threads with 3 simple operations.
We can increase the operations in the future.



Modified:
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/pool/SimplePoolManager.java
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreAdmin.java
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/resources.properties
   
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/pool/TestConnectionPool.java

Modified: 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/pool/SimplePoolManager.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/pool/SimplePoolManager.java
       (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/pool/SimplePoolManager.java
       Sun Dec  9 18:57:53 2007
@@ -4,6 +4,9 @@
 
 import javax.sql.DataSource;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
 public class SimplePoolManager {
     
     private JDBCConnectionPool pool = null;
@@ -12,6 +15,8 @@
     
     private static int clients = 0;
     
+    private static Log log = LogFactory.getLog(SimplePoolManager.class);
+    
     public static synchronized void createInstance(String URL, String user,
             String password, int maxConn) {
         if (instance == null) {
@@ -38,6 +43,7 @@
     }
        
     public static synchronized boolean resetPool() {
+        log.debug("clients="+"clients");
         if(instance != null && clients == 0){
             instance.deletePool();
             instance = null;

Modified: 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreAdmin.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreAdmin.java
      (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreAdmin.java
      Sun Dec  9 18:57:53 2007
@@ -42,7 +42,6 @@
                     .prepareStatement(DefaultRealmConstants.ADD_USER);
             
             
-            
             addUserStmt.setString(1, userName);
             MessageDigest dgst = MessageDigest.getInstance("MD5");
             dgst.update(((String) credential).getBytes());
@@ -235,6 +234,7 @@
             throw new UserManagerException("errorModifyingUserStore", e);
         } finally {
             poolMan.freeConnection(dbConnection);
+            SimplePoolManager.freeInstance();
         }
     }
 
@@ -288,7 +288,6 @@
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
         } finally {
-            log.debug("free_connection");
             poolMan.freeConnection(dbConnection);
             SimplePoolManager.freeInstance();
         }

Modified: 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/resources.properties
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/resources.properties
      (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/resources.properties
      Sun Dec  9 18:57:53 2007
@@ -33,3 +33,4 @@
 validatingCredentials = Validating users
 dbCreationNotSupported = Database creation not supported for this driver
 nullConnection = Cannot get connection. Contact Administrator
+unableToResetPool = Unable to reset realm. There are people holding instances 
of PoolManager
\ No newline at end of file

Modified: 
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/pool/TestConnectionPool.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/pool/TestConnectionPool.java
      (original)
+++ 
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/pool/TestConnectionPool.java
      Sun Dec  9 18:57:53 2007
@@ -1,7 +1,14 @@
 package org.wso2.usermanager.pool;
 
+import java.sql.Connection;
+import java.sql.Driver;
+import java.util.Properties;
+
 import junit.framework.TestCase;
 
+import org.wso2.usermanager.Realm;
+import org.wso2.usermanager.readwrite.DefaultDatabaseUtil;
+import org.wso2.usermanager.readwrite.DefaultRealm;
 import org.wso2.usermanager.readwrite.DefaultRealmConfig;
 
 public class TestConnectionPool extends TestCase {
@@ -13,7 +20,7 @@
 
     protected void setUp() throws Exception {
         super.setUp();
- /*       Class clazz = Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
+        Class clazz = Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
         Driver driver = (Driver) clazz.newInstance();
         Properties props = new Properties();
         Connection dbConnection = driver.connect(
@@ -27,13 +34,13 @@
         Realm realm = new DefaultRealm();
         config = (DefaultRealmConfig) realm.getRealmConfiguration();
         config.setConnectionURL(connectionURL);
-        realm.init(config);*/
+        realm.init(config);
 
     }
     
     
     public void testPool() throws Exception{
-/*        UserSessionSimulator sim1 = new UserSessionSimulator("admin1", 
"admin1");
+        UserSessionSimulator sim1 = new UserSessionSimulator("admin1", 
"admin1");
         UserSessionSimulator sim2 = new UserSessionSimulator("admin2", 
"admin2");
         UserSessionSimulator sim3 = new UserSessionSimulator("admin3", 
"admin3");
         UserSessionSimulator sim4 = new UserSessionSimulator("admin4", 
"admin4");
@@ -47,7 +54,22 @@
         th2.start();
         th3.start();
         th4.start();
-        th5.start();*/
+        th5.start();
+        
+        
+        th1.join();
+        th2.join();
+        th3.join();
+        th4.join();
+        th5.join();
+        
+        //test reset method.....
+        config.setConnectionURL(connectionURL);
+        config.setResetPoolManager(true);
+        Realm realm = new DefaultRealm();
+        realm.init(config);
+        
+        
         
     }
 

_______________________________________________
Commons-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/commons-dev

Reply via email to