It's fixed now. I forgot to set PreferencesProvider's init-method in
the jetspeed-spring.xml. The start() method simply calls
PreferencesImpl.class, which causes the ClassLoader to pre-load the class.
Ate Douma wrote:
Great job Scott and David!
As we are using Spring within our own portlets you can guess I'm +1 on
using Spring!
But, I'm having problems running J2 again after initial deployment
using Spring. If I stop Tomcat and start again I'm presented with the
following stack trace (in jetspeed.log):
2004-07-20 18:44:57,171 [WORKER_5] DEBUG
org.apache.jetspeed.container.JetspeedContainerServlet - Rendering:
Portlet Class = org.apache.jetspeed.demo.simple.PickANumberServlet
2004-07-20 18:44:57,187 [WORKER_5] ERROR
org.apache.jetspeed.container.JetspeedContainerServlet - Error
rendering portlet "PickANumberPortlet": java.lang.InternalError: Can't
instantiate Preferences factory java.lang.ClassNotFoundException:
org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl
java.lang.InternalError: Can't instantiate Preferences factory
java.lang.ClassNotFoundException:
org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl
at java.util.prefs.Preferences.<clinit>(Preferences.java:218)
at
org.apache.jetspeed.components.portletentity.PortletEntityImpl.getPreferenceSet(PortletEntityImpl.java:153)
at
org.apache.pluto.core.impl.PortletPreferencesImpl.<init>(PortletPreferencesImpl.java:72)
at
org.apache.pluto.factory.impl.PortletPreferencesFactoryImpl.getPortletPreferences(PortletPreferencesFactoryImpl.java:39)
at
org.apache.pluto.factory.PortletObjectAccess.getPortletPreferences(PortletObjectAccess.java:116)
at
org.apache.pluto.core.impl.RenderRequestImpl.getPreferences(RenderRequestImpl.java:74)
at
org.apache.jetspeed.demo.simple.PickANumberServlet.getHighRange(PickANumberServlet.java:247)
at
org.apache.jetspeed.demo.simple.PickANumberServlet.doView(PickANumberServlet.java:137)
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:247)
at javax.portlet.GenericPortlet.render(GenericPortlet.java:175)
at
org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContainerServlet.java:214)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:498)
at
org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:208)
at
org.apache.jetspeed.container.invoker.ServletPortletInvoker.render(ServletPortletInvoker.java:122)
at
org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:103)
at
org.apache.jetspeed.container.JetspeedPortletContainerWrapper.renderPortlet(JetspeedPortletContainerWrapper.java:88)
at
org.apache.jetspeed.aggregator.impl.RenderingJob.run(RenderingJob.java:109)
at org.apache.jetspeed.aggregator.impl.Worker.run(Worker.java:142)
Followed by the following exception:
2004-07-20 18:45:00,093 [http8080-Processor3] DEBUG
org.apache.jetspeed.container.JetspeedContainerServlet - Rendering:
Portlet Class = org.apache.jetspeed.portlets.layout.MultiColumnPortlet
2004-07-20 18:45:00,093 [http8080-Processor3] ERROR
org.apache.jetspeed.container.JetspeedContainerServlet - Error
rendering portlet "VelocityTwoColumns": java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError
at
org.apache.jetspeed.components.portletentity.PortletEntityImpl.getPreferenceSet(PortletEntityImpl.java:153)
at
org.apache.pluto.core.impl.PortletPreferencesImpl.<init>(PortletPreferencesImpl.java:72)
at
org.apache.pluto.factory.impl.PortletPreferencesFactoryImpl.getPortletPreferences(PortletPreferencesFactoryImpl.java:39)
at
org.apache.pluto.factory.PortletObjectAccess.getPortletPreferences(PortletObjectAccess.java:116)
at
org.apache.pluto.core.impl.RenderRequestImpl.getPreferences(RenderRequestImpl.java:74)
at
org.apache.jetspeed.portlets.layout.LayoutPortlet.doView(LayoutPortlet.java:72)
at
org.apache.jetspeed.portlets.layout.MultiColumnPortlet.doView(MultiColumnPortlet.java:82)
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:247)
at javax.portlet.GenericPortlet.render(GenericPortlet.java:175)
at
org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContainerServlet.java:214)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:498)
at
org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:208)
at
org.apache.jetspeed.container.invoker.ServletPortletInvoker.render(ServletPortletInvoker.java:122)
at
org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:103)
at
org.apache.jetspeed.container.JetspeedPortletContainerWrapper.renderPortlet(JetspeedPortletContainerWrapper.java:88)
at
org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletRendererImpl.java:95)
at
org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggregatorImpl.java:222)
at
org.apache.jetspeed.aggregator.AggregatorValve.invoke(AggregatorValve.java:47)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:255)
at
org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValveImpl.java:107)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:255)
at
org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:76)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:255)
at
org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValveImpl.java:57)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:255)
at
org.apache.jetspeed.security.impl.SecurityValveImpl.invoke(SecurityValveImpl.java:89)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:255)
at
org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(CapabilityValveImpl.java:138)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:255)
at
org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(LocalizationValveImpl.java:64)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:255)
at
org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.java:237)
at
org.apache.jetspeed.engine.AbstractEngine.service(AbstractEngine.java:279)
at
org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:214)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
******************************************
* Scott T. Weaver *
* <[EMAIL PROTECTED]> *
* <http://www.einnovation.com> *
* -------------------------------------- *
* Apache Jetspeed Enterprise Portal *
* Apache Pluto Portlet Container *
* *
* OpenEditPro, Website Content Mangement *
* <http://www.openeditpro.com> *
******************************************
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]