Author: rmannibucau
Date: Sat Jan  5 12:09:54 2013
New Revision: 1429270

URL: http://svn.apache.org/viewvc?rev=1429270&view=rev
Log:
TOMEE-703 if no cache don't add StatementCache interceptor + managing specified 
interceptors instead of removing them setting statmentcache one

Modified:
    
openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java

Modified: 
openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java?rev=1429270&r1=1429269&r2=1429270&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java
 Sat Jan  5 12:09:54 2013
@@ -137,11 +137,20 @@ public class TomEEDataSourceCreator exte
             if (!converted.containsKey(key)) {
                 if (!value.isEmpty()) {
                     if ("MaxOpenPreparedStatements".equalsIgnoreCase(key) || 
"PoolPreparedStatements".equalsIgnoreCase(key)) {
+                        if 
("0".equalsIgnoreCase(properties.getProperty("MaxOpenPreparedStatements", "0"))
+                                || 
"false".equalsIgnoreCase(properties.getProperty("PoolPreparedStatements", 
"false"))) {
+                            continue;
+                        }
+
                         String interceptors = 
properties.getProperty("jdbcInterceptors");
-                        if (interceptors == null || 
!interceptors.contains("StatementCache")) {
+                        if (interceptors == null) {
                             converted.setProperty("jdbcInterceptors",
                                     "StatementCache(max=" + 
properties.getProperty("MaxOpenPreparedStatements", "128") + ")");
                             LOGGER.debug("Tomcat-jdbc StatementCache added to 
handle prepared statement cache/pool");
+                        } else if  (!interceptors.contains("StatementCache")) {
+                            converted.setProperty("jdbcInterceptors", 
interceptors
+                                    + ";StatementCache(max=" + 
properties.getProperty("MaxOpenPreparedStatements", "128") + ")");
+                            LOGGER.debug("Tomcat-jdbc StatementCache added to 
handle prepared statement cache/pool");
                         }
                         continue;
                     }


Reply via email to