rubys 2002/10/03 07:31:40
Modified: java/src/org/apache/axis/configuration Tag: axis1_0
EngineConfigurationFactoryFinder.java
Log:
Bug 13149: client needs servlet.jar merged into 1.0
+1: Glen, Richard, Dims, Dug
+0: Glyn
Revision Changes Path
No revision
No revision
1.12.4.2 +25 -22
xml-axis/java/src/org/apache/axis/configuration/EngineConfigurationFactoryFinder.java
Index: EngineConfigurationFactoryFinder.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/configuration/EngineConfigurationFactoryFinder.java,v
retrieving revision 1.12.4.1
retrieving revision 1.12.4.2
diff -u -r1.12.4.1 -r1.12.4.2
--- EngineConfigurationFactoryFinder.java 30 Sep 2002 13:19:24 -0000
1.12.4.1
+++ EngineConfigurationFactoryFinder.java 3 Oct 2002 14:31:40 -0000
1.12.4.2
@@ -56,11 +56,13 @@
package org.apache.axis.configuration;
import java.lang.reflect.Method;
+import java.lang.reflect.InvocationTargetException;
import java.security.AccessController;
import java.security.PrivilegedAction;
import org.apache.axis.EngineConfigurationFactory;
import org.apache.axis.components.logger.LogFactory;
+import org.apache.axis.discovery.DiscoverConstNames;
import org.apache.axis.discovery.DiscoverOldNamesInManagedProperties;
import org.apache.axis.utils.Messages;
import org.apache.commons.discovery.ResourceClassIterator;
@@ -153,6 +155,12 @@
nameDiscoverers.addResourceNameDiscover(new
DiscoverOldNamesInManagedProperties());
nameDiscoverers.addResourceNameDiscover(new
DiscoverNamesInManagedProperties());
nameDiscoverers.addResourceNameDiscover(new
DiscoverServiceNames(loaders));
+ nameDiscoverers.addResourceNameDiscover(new
DiscoverConstNames(
+ new String[] {
+
"org.apache.axis.configuration.EngineConfigurationFactoryServlet",
+
"org.apache.axis.configuration.EngineConfigurationFactoryDefault",
+ })
+ );
ResourceNameIterator it =
nameDiscoverers.findResourceNames(mySpi.getName());
@@ -164,33 +172,18 @@
while (factory == null && services.hasNext()) {
Class service =
services.nextResourceClass().loadClass();
- factory = newFactory(service, newFactoryParamTypes,
params);
- }
-
- if (factory == null) {
- try {
- factory =
EngineConfigurationFactoryServlet.newFactory(obj);
- } catch (RuntimeException e) {
-
log.warn(Messages.getMessage("engineConfigInvokeNewFactory",
-
EngineConfigurationFactoryServlet.class.getName(),
- requiredMethod), e);
- }
-
- if (factory == null) {
- try {
- // should NEVER return null.
- factory =
EngineConfigurationFactoryDefault.newFactory(obj);
- } catch (RuntimeException e) {
-
log.warn(Messages.getMessage("engineConfigInvokeNewFactory",
-
EngineConfigurationFactoryDefault.class.getName(),
- requiredMethod),
e);
- }
+ /* service == null
+ * if class resource wasn't loadable
+ */
+ if (service != null) {
+ factory = newFactory(service, newFactoryParamTypes,
params);
}
}
if (factory != null) {
- if(log.isDebugEnabled())
+ if(log.isDebugEnabled()) {
log.debug(Messages.getMessage("engineFactory",
factory.getClass().getName()));
+ }
} else {
log.error(Messages.getMessage("engineConfigFactoryMissing"));
// we should be throwing an exception here,
@@ -232,6 +225,16 @@
} else {
try {
return (EngineConfigurationFactory)method.invoke(null, param);
+ } catch (InvocationTargetException e) {
+ if (e.getTargetException() instanceof
java.lang.NoClassDefFoundError) {
+ log.debug(Messages.getMessage("engineConfigInvokeNewFactory",
+ service.getName(),
+ requiredMethod), e);
+ } else {
+ log.warn(Messages.getMessage("engineConfigInvokeNewFactory",
+ service.getName(),
+ requiredMethod), e);
+ }
} catch (Exception e) {
log.warn(Messages.getMessage("engineConfigInvokeNewFactory",
service.getName(),