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