ws-wss4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jorge Martín Cuervo <jorge.mar...@defactops.com>
Subject custom classloader
Date Fri, 04 Nov 2005 15:31:33 GMT
Hi all,

Before i've used a custom classloader wss4j works good.  After i change
it with the one above, i get this error message:

[...]
Exception in thread "main" java.lang.reflect.InvocationTargetException
[Loaded java.lang.StackTraceElement from
/usr/java/j2sdk1.4.2_05/jre/lib/rt.jar]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at Boot.main(Boot.java:91)
Caused by: java.lang.NoClassDefFoundError: javax/activation/DataSource
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:141)
        at
org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory.class$(JAFDataHandlerSerializerFactory.java:37)
        at
org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory.getSerializerClass(JAFDataHandlerSerializerFactory.java:46)
        at
org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory.<init>(JAFDataHandlerSerializerFactory.java:34)
        at
org.apache.axis.encoding.DefaultTypeMappingImpl.initMappings(DefaultTypeMappingImpl.java:120)
        at
org.apache.axis.encoding.DefaultTypeMappingImpl.<init>(DefaultTypeMappingImpl.java:91)
        at
org.apache.axis.encoding.DefaultTypeMappingImpl.getSingletonDelegate(DefaultTypeMappingImpl.java:85)
        at
org.apache.axis.encoding.TypeMappingRegistryImpl.<init>(TypeMappingRegistryImpl.java:155)
        at
org.apache.axis.encoding.TypeMappingRegistryImpl.<init>(TypeMappingRegistryImpl.java:149)
        at
org.apache.axis.deployment.wsdd.WSDDDeployment.<init>(WSDDDeployment.java:449)
        at
org.apache.axis.deployment.wsdd.WSDDDocument.setDocument(WSDDDocument.java:139)
        at
org.apache.axis.deployment.wsdd.WSDDDocument.<init>(WSDDDocument.java:65)
        at
org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:179)
        at org.apache.axis.AxisEngine.init(AxisEngine.java:172)
        at org.apache.axis.AxisEngine.<init>(AxisEngine.java:156)
        at org.apache.axis.client.AxisClient.<init>(AxisClient.java:52)
        at
org.apache.axis.client.Service.getAxisClient(Service.java:103)
        at org.apache.axis.client.Service.<init>(Service.java:143)
        at
com.defactops.smartcvws.services.SmartCVWS.CandidateWSServiceLocator.<init>(Unknown
Source)
        at
com.defactops.smartcv.swt.composites.windows.code.LoadRemoteCodeComposite.do_bAdd_widgetSelected(Unknown
Source)
        at
com.defactops.smartcv.swt.composites.windows.CommonRemoteComposite$1.widgetSelected(Unknown
Source)
        at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
        at
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1021)
        at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2867)
        at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2572)
        at com.defactops.smartcv.swt.RunApp.startup(Unknown Source)
        ... 5 more
[Loaded java.lang.Shutdown from /usr/java/j2sdk1.4.2_05/jre/lib/rt.jar]
[...]


I'm not sure if its axis or wss4j problem..



public class Boot {

	private static URL[] jarFinder(File path) throws Exception {
		
		List valRet = new ArrayList();
		
		File[] files = path.listFiles(new FileFilter() {
			public boolean accept(File pathname) {
				return pathname.getName().endsWith(".jar") ||
pathname.isDirectory();
			}
		});
		
		
		for (int i = 0; i < files.length; i++) {
			if (files[i].isDirectory() ) {
				valRet.addAll(Arrays.asList(jarFinder(files[i])));
			} else {
				valRet.add(files[i].toURL());
			}
			
		}
		return (URL[])valRet.toArray(new URL[0]);
	}
	
	public static void main(String[] args) throws Exception {
		
		Object obj = null;
		ClassLoader loader = null;
		boolean reboot = false;
		
		loader = new URLClassLoader(jarFinder(new File(".")), parent);
		Thread.currentThread().setContextClassLoader(loader);
		obj =
loader.loadClass("com.defactops.smartcv.swt.RunApp").newInstance();
		obj.getClass().getMethod("startup", null).invoke(obj, null);
		
		obj = null;
		loader = null;
		System.gc();
		
		
	}
}

-- 
;-)
____________________________________
Jorge Martin Cuervo
Analista Programador

Outsourcing Emarketplace
deFacto Powered by Standards

email <jorge.martin@defactops.com>
voz +34 985 129 820
voz +34 660 026 384
____________________________________

Mime
View raw message