Author: fhanik
Date: Wed Oct 17 14:38:24 2007
New Revision: 585707
URL: http://svn.apache.org/viewvc?rev=585707&view=rev
Log:
http://issues.apache.org/bugzilla/show_bug.cgi?id=43643
Modified:
tomcat/sandbox/gdev6x/java/org/apache/catalina/startup/ConnectorCreateRule.java
Modified:
tomcat/sandbox/gdev6x/java/org/apache/catalina/startup/ConnectorCreateRule.java
URL:
http://svn.apache.org/viewvc/tomcat/sandbox/gdev6x/java/org/apache/catalina/startup/ConnectorCreateRule.java?rev=585707&r1=585706&r2=585707&view=diff
==============================================================================
---
tomcat/sandbox/gdev6x/java/org/apache/catalina/startup/ConnectorCreateRule.java
(original)
+++
tomcat/sandbox/gdev6x/java/org/apache/catalina/startup/ConnectorCreateRule.java
Wed Oct 17 14:38:24 2007
@@ -20,12 +20,15 @@
package org.apache.catalina.startup;
-import org.apache.catalina.Executor;
-import org.apache.catalina.Service;
import org.apache.catalina.connector.Connector;
-import org.apache.tomcat.util.IntrospectionUtils;
import org.apache.tomcat.util.digester.Rule;
import org.xml.sax.Attributes;
+import org.apache.catalina.Service;
+import org.apache.catalina.Executor;
+import org.apache.tomcat.util.IntrospectionUtils;
+import java.lang.reflect.Method;
+import org.apache.juli.logging.LogFactory;
+import org.apache.juli.logging.Log;
/**
@@ -34,7 +37,7 @@
public class ConnectorCreateRule extends Rule {
-
+ protected static Log log = LogFactory.getLog(ConnectorCreateRule.class);
// --------------------------------------------------------- Public Methods
@@ -50,14 +53,18 @@
ex = svc.getExecutor(attributes.getValue("executor"));
}
Connector con = new Connector(attributes.getValue("protocol"));
- if ( ex != null ) setExecutor(con,ex);
-
+ if ( ex != null ) _setExecutor(con,ex);
+
digester.push(con);
}
-
- public void setExecutor(Connector con, Executor ex) throws Exception {
- IntrospectionUtils.callMethod1(con.getProtocolHandler(), "setExecutor",
- ex, java.util.concurrent.Executor.class.getName(),
getClass().getClassLoader());
+
+ public void _setExecutor(Connector con, Executor ex) throws Exception {
+ Method m =
IntrospectionUtils.findMethod(con.getProtocolHandler().getClass(),"setExecutor",new
Class[] {java.util.concurrent.Executor.class});
+ if (m!=null) {
+ m.invoke(con.getProtocolHandler(), new Object[] {ex});
+ }else {
+ log.warn("Connector ["+con+"] does not support external executors.
Method setExecutor(java.util.concurrent.Executor) not found.");
+ }
}
@@ -65,7 +72,7 @@
* Process the end of this element.
*/
public void end() throws Exception {
- digester.pop();
+ Object top = digester.pop();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]