You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2014/08/07 22:31:19 UTC
svn commit: r1616592 - in /tomcat/trunk/modules/jdbc-pool/src:
main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
test/java/org/apache/tomcat/jdbc/bugs/Bug54225.java
Author: fhanik
Date: Thu Aug 7 20:31:19 2014
New Revision: 1616592
URL: http://svn.apache.org/r1616592
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54225
Don't allow empty strings as initSQL
Added:
tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/bugs/Bug54225.java (with props)
Modified:
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=1616592&r1=1616591&r2=1616592&view=diff
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (original)
+++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Thu Aug 7 20:31:19 2014
@@ -791,7 +791,7 @@ public class PoolProperties implements P
@Override
public void setInitSQL(String initSQL) {
- this.initSQL = initSQL;
+ this.initSQL = initSQL!=null && initSQL.trim().length()>0 ? initSQL : null;
}
/**
Added: tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/bugs/Bug54225.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/bugs/Bug54225.java?rev=1616592&view=auto
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/bugs/Bug54225.java (added)
+++ tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/bugs/Bug54225.java Thu Aug 7 20:31:19 2014
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomcat.jdbc.bugs;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+import org.apache.tomcat.jdbc.pool.ConnectionPool;
+import org.apache.tomcat.jdbc.pool.DataSource;
+import org.apache.tomcat.jdbc.pool.PoolExhaustedException;
+import org.apache.tomcat.jdbc.pool.PoolProperties;
+import org.apache.tomcat.jdbc.test.DefaultProperties;
+
+import static org.junit.Assert.assertNull;
+
+@RunWith(Parameterized.class)
+public class Bug54225 {
+
+ private String initSQL;
+
+ public Bug54225(String initSQL) {
+ this.initSQL = initSQL;
+ }
+
+ @Parameterized.Parameters
+ public static Collection<Object[]> parameters() {
+ return Arrays.asList(new Object[][]{
+ new Object[] {""},
+ new Object[] {null},
+ });
+ }
+
+ @Test
+ public void testPool() throws SQLException, InterruptedException {
+ PoolProperties poolProperties = new DefaultProperties();
+ poolProperties.setMinIdle(0);
+ poolProperties.setInitialSize(0);
+ poolProperties.setMaxWait(5000);
+ poolProperties.setRemoveAbandoned(true);
+ poolProperties.setRemoveAbandonedTimeout(300);
+ poolProperties.setRollbackOnReturn(true);
+ poolProperties.setInitSQL(initSQL);
+ final DataSource ds = new DataSource(poolProperties);
+ ds.getConnection().close();
+ assertNull(poolProperties.getInitSQL());
+ }
+}
\ No newline at end of file
Propchange: tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/bugs/Bug54225.java
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org