use atomic counters
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Fri, 14 Nov 2008 15:18:19 +0000 (15:18 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Fri, 14 Nov 2008 15:18:19 +0000 (15:18 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@714027 13f79535-47bb-0310-9956-ffa450edef68

modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java

index ad386ad..24bba9e 100644 (file)
@@ -19,12 +19,13 @@ package org.apache.tomcat.jdbc.pool;
 
 import java.lang.reflect.Method;
 import java.util.Properties;
+import java.util.concurrent.atomic.AtomicInteger;
 /**
  * @author Filip Hanik
  *
  */
 public class PoolProperties {
-    protected static volatile int poolCounter = 1;
+    protected static AtomicInteger poolCounter = new AtomicInteger(0);
     protected Properties dbProperties = new Properties();
     protected String url = null;
     protected String driverClassName = null;
@@ -50,7 +51,7 @@ public class PoolProperties {
     protected int removeAbandonedTimeout = 60;
     protected boolean logAbandoned = false;
     protected int loginTimeout = 10000;
-    protected String name = "Tomcat Connection Pool["+(poolCounter++)+"]";
+    protected String name = "Tomcat Connection Pool["+(poolCounter.addAndGet(1))+"]";
     protected String password;
     protected String username;
     protected long validationInterval = 30000;
index 364eeee..3654bf2 100644 (file)
@@ -38,7 +38,7 @@ public class PooledConnection {
     public static final int VALIDATE_INIT = 4;
 
     protected static Log log = LogFactory.getLog(PooledConnection.class);
-    protected static volatile int counter = 1;
+    protected static AtomicInteger counter = new AtomicInteger(01);
 
     protected PoolProperties poolProperties;
     protected java.sql.Connection connection;
@@ -53,7 +53,7 @@ public class PooledConnection {
     protected WeakReference<JdbcInterceptor> handler = null;
 
     public PooledConnection(PoolProperties prop, ConnectionPool parent) throws SQLException {
-        instanceCount = counter++;
+        instanceCount = counter.addAndGet(1);
         poolProperties = prop;
         this.parent = parent;
     }