Author: fhanik
Date: Fri Nov 21 13:06:44 2008
New Revision: 719711
URL: http://svn.apache.org/viewvc?rev=719711&view=rev
Log:
add async call template, not sure how it will work, but I will know soon
make sure that timewait is a positive value, 0 being the lowest
Modified:
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
Modified:
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=719711&r1=719710&r2=719711&view=diff
==============================================================================
---
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
(original)
+++
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
Fri Nov 21 13:06:44 2008
@@ -27,6 +27,8 @@
import java.util.Queue;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.Callable;
+import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import org.apache.juli.logging.Log;
@@ -109,6 +111,11 @@
init(prop);
}
+
+ public Future<Connection> getConnectionAsync() throws SQLException {
+ return null;
+ }
+
/**
* Borrows a connection from the pool
* @return Connection - a java.sql.Connection reflection proxy, wrapping
the underlying object.
@@ -117,6 +124,10 @@
public Connection getConnection() throws SQLException {
//check out a connection
PooledConnection con = (PooledConnection)borrowConnection();
+ return setupConnection(con);
+ }
+
+ protected Connection setupConnection(PooledConnection con) throws
SQLException {
JdbcInterceptor handler = con.getHandler();
if (handler==null) {
//build the proxy handler
@@ -164,8 +175,9 @@
s.initCause(x);
throw s;
}
- }
+ }
+
/**
* Returns the name of this pool
* @return String
@@ -394,7 +406,7 @@
//calculate wait time for this iteration
long maxWait =
(getPoolProperties().getMaxWait()<=0)?Long.MAX_VALUE:getPoolProperties().getMaxWait();
- long timetowait = Math.max(1, maxWait -
(System.currentTimeMillis() - now));
+ long timetowait = Math.max(0, maxWait -
(System.currentTimeMillis() - now));
try {
//retrieve an existing connection
con = idle.poll(timetowait, TimeUnit.MILLISECONDS);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]