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 2008/11/10 18:09:40 UTC
svn commit: r712701 - in /tomcat/trunk/modules/jdbc-pool: .classpath
java/org/apache/tomcat/jdbc/pool/PoolProperties.java
test/org/apache/tomcat/jdbc/test/DefaultTestCase.java
test/org/apache/tomcat/jdbc/test/TwoDataSources.java
Author: fhanik
Date: Mon Nov 10 09:09:40 2008
New Revision: 712701
URL: http://svn.apache.org/viewvc?rev=712701&view=rev
Log:
Added test case to test two concurrent datasources, fixed the flag to turn on the sweeper
Added:
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TwoDataSources.java
Modified:
tomcat/trunk/modules/jdbc-pool/.classpath
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/DefaultTestCase.java
Modified: tomcat/trunk/modules/jdbc-pool/.classpath
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/.classpath?rev=712701&r1=712700&r2=712701&view=diff
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/.classpath (original)
+++ tomcat/trunk/modules/jdbc-pool/.classpath Mon Nov 10 09:09:40 2008
@@ -3,9 +3,9 @@
<classpathentry kind="src" path="java"/>
<classpathentry kind="src" path="test"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="var" path="TOMCAT_LIBS_BASE/tomcat6-deps/dbcp/tomcat-dbcp.jar"/>
- <classpathentry kind="var" path="TOMCAT_LIBS_BASE"/>
<classpathentry combineaccessrules="false" kind="src" path="/tomcat-trunk"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
+ <classpathentry kind="var" path="TOMCAT_LIBS_BASE/tomcat6-deps/dbcp/tomcat-dbcp.jar"/>
+ <classpathentry kind="lib" path="mysql-connector-java-5.1.6-bin.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=712701&r1=712700&r2=712701&view=diff
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (original)
+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Mon Nov 10 09:09:40 2008
@@ -391,7 +391,7 @@
public boolean isPoolSweeperEnabled() {
boolean result = getTimeBetweenEvictionRunsMillis()>0;
result = result && (isRemoveAbandoned() && getRemoveAbandonedTimeout()>0);
- result = result && (isTestWhileIdle() && getValidationQuery()!=null);
+ result = result || (isTestWhileIdle() && getValidationQuery()!=null);
return result;
}
}
Modified: tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/DefaultTestCase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/DefaultTestCase.java?rev=712701&r1=712700&r2=712701&view=diff
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/DefaultTestCase.java (original)
+++ tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/DefaultTestCase.java Mon Nov 10 09:09:40 2008
@@ -39,7 +39,8 @@
super(name);
}
- protected void init() throws Exception {
+ public DataSourceProxy createDefaultDataSource() {
+ DataSourceProxy datasource = null;
PoolProperties p = new DefaultProperties();
p.setJmxEnabled(false);
p.setTestWhileIdle(false);
@@ -57,6 +58,11 @@
p.setRemoveAbandoned(false);
datasource = new org.apache.tomcat.jdbc.pool.DataSourceProxy();
datasource.setPoolProperties(p);
+ return datasource;
+ }
+
+ protected void init() throws Exception {
+ this.datasource = createDefaultDataSource();
}
protected void transferProperties() {
@@ -92,6 +98,7 @@
protected void tearDown() throws Exception {
+ try {datasource.close();}catch(Exception ignore){}
datasource = null;
tDatasource = null;
System.gc();
Added: tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TwoDataSources.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TwoDataSources.java?rev=712701&view=auto
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TwoDataSources.java (added)
+++ tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TwoDataSources.java Mon Nov 10 09:09:40 2008
@@ -0,0 +1,53 @@
+package org.apache.tomcat.jdbc.test;
+
+import java.sql.Connection;
+
+import org.apache.tomcat.jdbc.pool.DataSourceProxy;
+
+public class TwoDataSources extends DefaultTestCase {
+
+ public TwoDataSources(String name) {
+ super(name);
+ }
+
+ public void testTwoDataSources() throws Exception {
+ DataSourceProxy d1 = this.createDefaultDataSource();
+ DataSourceProxy d2 = this.createDefaultDataSource();
+ d1.setRemoveAbandoned(true);
+ d1.setRemoveAbandonedTimeout(10);
+ d1.setTimeBetweenEvictionRunsMillis(1000);
+ d2.setRemoveAbandoned(false);
+ Connection c1 = d1.getConnection();
+ Connection c2 = d2.getConnection();
+ Thread.sleep(15000);
+ try {
+ c1.createStatement();
+ this.assertTrue("Connection should have been abandoned.",false);
+ }catch (Exception x) {
+ this.assertTrue("This is correct, c1 is abandoned",true);
+ }
+
+ try {
+ c2.createStatement();
+ this.assertTrue("Connection should not have been abandoned.",true);
+ }catch (Exception x) {
+ this.assertTrue("Connection c2 should be working",false);
+ }
+ try {
+ c1.close();
+ this.assertTrue("Connection should have been closed.",false);
+ }catch (Exception x) {
+ this.assertTrue("This is correct, c1 is closed",true);
+ }
+ try {
+ c2.close();
+ this.assertTrue("Connection c2 should not have been closed.",true);
+ }catch (Exception x) {
+ this.assertTrue("Connection c2 should be working",false);
+ }
+
+
+
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org