Author: sumedha
Date: Thu Jan 17 22:43:57 2008
New Revision: 12453

Log:

when connection pooling in place,using db connection saved in side axisservice 
is not correct

Modified:
   
branches/wsas/java/2.2/commons/data-services/src/main/java/org/wso2/ws/dataservice/DBCPConnectionManager.java
   
branches/wsas/java/2.2/commons/data-services/src/main/java/org/wso2/ws/dataservice/DBUtils.java

Modified: 
branches/wsas/java/2.2/commons/data-services/src/main/java/org/wso2/ws/dataservice/DBCPConnectionManager.java
==============================================================================
--- 
branches/wsas/java/2.2/commons/data-services/src/main/java/org/wso2/ws/dataservice/DBCPConnectionManager.java
       (original)
+++ 
branches/wsas/java/2.2/commons/data-services/src/main/java/org/wso2/ws/dataservice/DBCPConnectionManager.java
       Thu Jan 17 22:43:57 2008
@@ -63,8 +63,8 @@
                String maxPool = 
config.getPropertyValue(DBConstants.MAX_POOL_SIZE);
 
                // set numeric values for min & max pool sizes
-               int minPoolSize = 1; // default values
-               int maxPoolSize = 10; // default values
+               int minPoolSize = 10; // default values
+               int maxPoolSize = 20; // default values
                try {
                        if (minPool != null && minPool.trim().length() > 0) {
                                minPoolSize = 
Integer.valueOf(minPool).intValue();

Modified: 
branches/wsas/java/2.2/commons/data-services/src/main/java/org/wso2/ws/dataservice/DBUtils.java
==============================================================================
--- 
branches/wsas/java/2.2/commons/data-services/src/main/java/org/wso2/ws/dataservice/DBUtils.java
     (original)
+++ 
branches/wsas/java/2.2/commons/data-services/src/main/java/org/wso2/ws/dataservice/DBUtils.java
     Thu Jan 17 22:43:57 2008
@@ -226,7 +226,7 @@
            if( 
DBConstants.DATASOURCE_TYPE_RDBMS.equals((String)axisService.getParameterValue(DBConstants.DATASOURCE_TYPE))
                    || 
DBConstants.DATASOURCE_TYPE_JNDI.equals((String)axisService.getParameterValue(DBConstants.DATASOURCE_TYPE))){
                try {
-                if(conn.isClosed()){
+                if(conn == null || conn.isClosed()){
                     if(log.isDebugEnabled()){
                         log.debug("Database connection is closed.Trying to 
re-establish.");
                     }
@@ -256,11 +256,11 @@
                OMNamespace omNs = null;
                String sqlQuery = queryElement.getFirstChildWithName(new 
QName("sql")).getText();
                try {
-                       Parameter dbConnectionParam = 
axisService.getParameter(DBConstants.DB_CONNECTION);  
-                       if(dbConnectionParam == null){
-                               throw new AxisFault("Database connection not 
found in Axis Configuration");
-                       }
-                       conn = (Connection)dbConnectionParam.getValue();
+                       //Parameter dbConnectionParam = 
axisService.getParameter(DBConstants.DB_CONNECTION);  
+                       //if(dbConnectionParam == null){
+                       //      throw new AxisFault("Database connection not 
found in Axis Configuration");
+                       //}
+                       //conn = (Connection)dbConnectionParam.getValue();
                        conn = checkDBConnectionStatus(axisService, conn);
                        conn.setAutoCommit(false);
                        CallableStatement cs = 
(CallableStatement)getProcessedPreparedStatement
@@ -545,11 +545,11 @@
                
                String sqlQuery = queryElement.getFirstChildWithName(new 
QName("sql")).getText();
                try {
-                       Parameter dbConnectionParam = 
axisService.getParameter(DBConstants.DB_CONNECTION);  
-                       if(dbConnectionParam == null){
-                               throw new 
AxisFault("["+axisService.getName()+"] Database connection not found in Axis 
Configuration");
-                       }
-                       conn = (Connection)dbConnectionParam.getValue();
+                       //Parameter dbConnectionParam = 
axisService.getParameter(DBConstants.DB_CONNECTION);  
+                       //if(dbConnectionParam == null){
+                       //      throw new 
AxisFault("["+axisService.getName()+"] Database connection not found in Axis 
Configuration");
+                       //}
+                       //conn = (Connection)dbConnectionParam.getValue();
                        conn = checkDBConnectionStatus(axisService, conn);      
        
                        
                        conn.setAutoCommit(false);
@@ -732,8 +732,8 @@
                                }
                        } catch (SQLException e) {
                                log.error(e.getMessage());
-                               throw new AxisFault(
-                                               "Exception occurred while 
trying to commit.", e);
+                               //throw new AxisFault(
+                               //              "Exception occurred while 
trying to commit.", e);
                        }
                }
                
@@ -1233,13 +1233,7 @@
        public static Connection createConnection(String serviceName,Config 
config) throws AxisFault {
                try{
                        log.debug("Getting database connection for 
"+serviceName);
-                       //Try to load the JDBC driver class. If class not found 
throw an error.
-                       
Class.forName(config.getPropertyValue(DBConstants.DRIVER)).newInstance();
-                       Connection conn = null;
-                       Properties props = new Properties();
-                       props.put("user", 
config.getPropertyValue(DBConstants.USER));
-                       props.put("password", 
config.getPropertyValue(DBConstants.PASSWORD));
-                       
+                       Connection conn = null;                 
                        
                        if(config.getPropertyValue(DBConstants.MIN_POOL_SIZE) 
!= null 
                                        || 
config.getPropertyValue(DBConstants.MAX_POOL_SIZE) != null){
@@ -1247,6 +1241,11 @@
                                DBCPConnectionManager dbcpConnectionManager = 
new DBCPConnectionManager(config);
                                conn = 
dbcpConnectionManager.getDatasource().getConnection();                          
 
                        }else{
+                               //Try to load the JDBC driver class. If class 
not found throw an error.
+                               
Class.forName(config.getPropertyValue(DBConstants.DRIVER)).newInstance();
+                               Properties props = new Properties();
+                               props.put("user", 
config.getPropertyValue(DBConstants.USER));
+                               props.put("password", 
config.getPropertyValue(DBConstants.PASSWORD));                           
                                conn = DriverManager.getConnection((String) 
config.getPropertyValue(DBConstants.PROTOCOL), props);
                        }
                        return conn;

_______________________________________________
Wsas-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/wsas-java-dev

Reply via email to