Author: fhanik
Date: Wed Dec 10 21:17:19 2008
New Revision: 725584
URL: http://svn.apache.org/viewvc?rev=725584&view=rev
Log:
Refactor interceptor instantiation a bit
Modified:
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.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=725584&r1=725583&r2=725584&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
Wed Dec 10 21:17:19 2008
@@ -202,11 +202,10 @@
PoolProperties.InterceptorDefinition[] proxies =
getPoolProperties().getJdbcInterceptorsAsArray();
for (int i=proxies.length-1; i>=0; i--) {
try {
- JdbcInterceptor interceptor =
- (JdbcInterceptor)
Class.forName(proxies[i].getClassName(), true,
Thread.currentThread().getContextClassLoader()).newInstance(); //should this be
the class loader?
+ JdbcInterceptor interceptor =
proxies[i].getInterceptorClass().newInstance();
interceptor.setProperties(proxies[i].getProperties());
interceptor.setNext(handler);
- interceptor.reset(this, con); //initialize
+ interceptor.reset(this, con);
handler = interceptor;
}catch(Exception x) {
SQLException sx = new SQLException("Unable to instantiate
interceptor chain.");
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=725584&r1=725583&r2=725584&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
Wed Dec 10 21:17:19 2008
@@ -431,7 +431,7 @@
public static class InterceptorDefinition {
protected String className;
protected List<InterceptorProperty> properties = new
ArrayList<InterceptorProperty>();
-
+ protected volatile Class clazz = null;
public InterceptorDefinition(String className) {
this.className = className;
}
@@ -451,6 +451,13 @@
public List<InterceptorProperty> getProperties() {
return properties;
}
+
+ public Class<? extends JdbcInterceptor> getInterceptorClass() throws
ClassNotFoundException {
+ if (clazz==null) {
+ clazz = Class.forName(getClassName(), true,
JdbcInterceptor.class.getClassLoader());
+ }
+ return clazz;
+ }
}
public static class InterceptorProperty {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]