I am using wicket 1.3 beta2 in myproject ,and the application server is
websphere 6.0.2. when I config wicket in websphere using filter mode, cant't
load class org.apche.wicket.spring.SpringWebApplicationFactory
[07-8-3 10:25:25:202 CST] 0000002a WicketFilter W try to use classloarder
: [EMAIL PROTECTED]
[07-8-3 10:25:25:623 CST] 0000002a WebApp E SRVE0026E: [Servlet
错误]-[Filter [STPMainApp]: could not be initialized]
rg.apache.wicket.protocol.http.WebApplicationFactoryCreationException: Unable
to create application factory of class
org.apache.wicket.spring.SpringWebApplicationFactory
Caused by: java.lang.ClassNotFoundException:
org.apache.wicket.spring.SpringWebApplicationFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java(Compiled Code))
at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:103)
at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code))
at
org.apache.wicket.protocol.http.WicketFilter.getApplicationFactory(WicketFilter.java:580)
... 20 more
in the wicketFilter class , this code used to load WebApplicationFactory :
// Try to find the specified factory class
final Class factoryClass = Thread.currentThread().getContextClassLoader()
.loadClass(appFactoryClassName);
// Instantiate the factory
return (IWebApplicationFactory)factoryClass.newInstance();
I add a debug log , Thread.currentThread().getContextClassLoader(), the
classLoader is
[EMAIL PROTECTED]
but , if I change web.xml to use servlet model ,
Thread.currentThread().getContextClassLoader() is
[EMAIL PROTECTED], so ,it load the ApplicationFaceotyClass successed. that
means , in servlet Model and Filter Model in Websphere , the app server using
different class load. but , using Class.forName(...) , can load the class in
both model .
---------------------------------
抢注雅虎免费邮箱3.5G容量,20M附件!