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附件! 

Reply via email to