Has anybody run into this problem? I apologize if this is the wrong list to post this message, but it is affecting ActionServlet.
It may be a problem in JRun's web app class loading implementation or in the commons-logging implementation. The exception occurs if you try to preload the ActionServlet. But if the ActionServlet is initialized from a request it is loaded just fine. It looks like the org.apache.commons.logging.LogFactory.findClassLoader() maybe returning the wrong ClassLoader when called when an ActionServlet is being preloaded...all the struts and commons-*.jar files are in the usual web-inf/lib folder. I would really appreciate it if anybody has time to confirm this problem. Assuming this is a bug in logging, and based on my very limited understanding of commons-logging, I'd like to suggest that the ActionServlet pass its ClassLoader when calling LogFactory.getLog()...but this change in ActionServlet would mean a change to LogFactory. There may be a difference on what ClassLoaders are available if a servlet is initialized from a preload, versus it being initialized from a request. I'm assuming LogFactory.findClassLoader() only works for the latter. This is a show stopper for those who are extending ActionServlet to do some extra initialization which needs to be initialized before anything else. Its forcing me to go back to a struts nightly build that does not have the commons-logging implementation. If this happens to be a bug in JRuns heirarchical ClassLoader implementation. Then this whole issue is moot. Thanks! -ronel 03/25 14:44:34 error (JRun) Could not pre-load servlet: action [javax.servlet.ServletException: Could not instantiate org.apache.struts.action.ActionServlet] [1]org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:497) at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:350) at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:381) at org.apache.struts.action.ActionServlet.<init>(ActionServlet.java:331) at java.lang.Class.newInstance0(Native Method) at java.lang.Class.newInstance(Unknown Source) at allaire.jrun.servlet.JRunServletLoader.loadServletInstance(../servlet/JRunSe rvletLoader.java:197) at allaire.jrun.servlet.JRunServletLoader.loadServletInstance(../servlet/JRunSe rvletLoader.java:161) at allaire.jrun.servlet.JRunServletLoader.loadServlet(../servlet/JRunServletLoa der.java:149) at allaire.jrun.servlet.JRunSE.getServletReference(../servlet/JRunSE.java:1705) at allaire.jrun.servlet.JRunSE.preloadServlets(../servlet/JRunSE.java:1371) at allaire.jrun.servlet.JRunSE.init(../servlet/JRunSE.java:236) at allaire.jrun.ServletService.init(../ServletService.java:66) at allaire.jrun.ServletService.init(../ServletService.java:31) at allaire.jrun.servlet.JRunServletLoader.loadServletInstance(../servlet/JRunSe rvletLoader.java:203) at allaire.jrun.servlet.JRunSE.initService(../servlet/JRunSE.java:891) at allaire.jrun.servlet.JRunSE.initServices(../servlet/JRunSE.java:858) at allaire.jrun.servlet.JvmContext.initServices(../servlet/JvmContext.java:130) at allaire.jrun.servlet.JRunSE.init(../servlet/JRunSE.java:222) at allaire.jrun.servlet.JvmContext.init(../servlet/JvmContext.java:69) at allaire.jrun.ServletService.init(../ServletService.java:66) at allaire.jrun.ServletService.init(../ServletService.java:31) at JRun.main(../../../JRun.java:172) [0]javax.servlet.ServletException: Could not instantiate org.apache.struts.action.ActionServlet at allaire.jrun.servlet.JRunServletLoader.loadServletInstance(../servlet/JRunSe rvletLoader.java:209) at allaire.jrun.servlet.JRunServletLoader.loadServletInstance(../servlet/JRunSe rvletLoader.java:161) at allaire.jrun.servlet.JRunServletLoader.loadServlet(../servlet/JRunServletLoa der.java:149) at allaire.jrun.servlet.JRunSE.getServletReference(../servlet/JRunSE.java:1705) at allaire.jrun.servlet.JRunSE.preloadServlets(../servlet/JRunSE.java:1371) at allaire.jrun.servlet.JRunSE.init(../servlet/JRunSE.java:236) at allaire.jrun.ServletService.init(../ServletService.java:66) at allaire.jrun.ServletService.init(../ServletService.java:31) at allaire.jrun.servlet.JRunServletLoader.loadServletInstance(../servlet/JRunSe rvletLoader.java:203) at allaire.jrun.servlet.JRunSE.initService(../servlet/JRunSE.java:891) at allaire.jrun.servlet.JRunSE.initServices(../servlet/JRunSE.java:858) at allaire.jrun.servlet.JvmContext.initServices(../servlet/JvmContext.java:130) at allaire.jrun.servlet.JRunSE.init(../servlet/JRunSE.java:222) at allaire.jrun.servlet.JvmContext.init(../servlet/JvmContext.java:69) at allaire.jrun.ServletService.init(../ServletService.java:66) at allaire.jrun.ServletService.init(../ServletService.java:31) at JRun.main(../../../JRun.java:172) -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>