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;
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;
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;
protected WeakReference<JdbcInterceptor> handler = null;
public PooledConnection(PoolProperties prop, ConnectionPool parent) throws SQLException {
- instanceCount = counter++;
+ instanceCount = counter.addAndGet(1);
poolProperties = prop;
this.parent = parent;
}