You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by "Foertsch, Thomas" <Th...@t-systems.de> on 2001/03/05 09:09:44 UTC

Automatic reloading of recompiled portlets?

Is automatic reloading of portlets implemented in jetspeed 1.3a1? 
After recompiling a portlet und accessing it, I get following error message:

Error: 500
Location: /cvsjs/WEB-INF/templates/jsp/layouts/html/default.jsp
Internal Servlet Error:

javax.servlet.ServletException: org.apache.turbine.util.RunData
	at
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImp
l.java:459)
	at
WEB_0002dINF.templates.jsp.layouts.html._0002fWEB_0002dINF_0002ftemplates_00
02fjsp_0002flayouts_0002fhtml_0002fdefault_0002ejspdefault_jsp_0._jspService
(_0002fWEB_0002dINF_0002ftemplates_0002fjsp_0002flayouts_0002fhtml_0002fdefa
ult_0002ejspdefault_jsp
	at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:177)
	at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java,
Compiled Code)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
	at org.apache.tomcat.core.Handler.service(Handler.java:286)
	at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
	at
org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl
.java:194)
	at
org.apache.jetspeed.services.jsp.JetspeedJspService.handleRequest(JetspeedJs
pService.java:163)
	at
org.apache.jetspeed.modules.layouts.JetspeedJspLayout.doBuild(JetspeedJspLay
out.java:117)
	at org.apache.turbine.modules.Layout.build(Layout.java:93)
	at
org.apache.turbine.modules.LayoutLoader.exec(LayoutLoader.java:122)
	at
org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:170)
	at org.apache.turbine.modules.Page.build(Page.java:92)
	at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:122)
	at org.apache.turbine.Turbine.doGet(Turbine.java, Compiled Code)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
	at org.apache.tomcat.core.Handler.service(Handler.java:286)
	at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
	at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
	at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
	at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
	at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java,
Compiled Code)
	at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java,
Compiled Code)
	at java.lang.Thread.run(Thread.java:479)

Root cause: 
java.lang.ClassCastException: org.apache.turbine.util.RunData
	at
org.apache.jetspeed.services.jsp.tags.URILookupTag.doStartTag(URILookupTag.j
ava:94)
	at
WEB_0002dINF.templates.jsp.layouts.html._0002fWEB_0002dINF_0002ftemplates_00
02fjsp_0002flayouts_0002fhtml_0002fdefault_0002ejspdefault_jsp_0._jspService
(_0002fWEB_0002dINF_0002ftemplates_0002fjsp_0002flayouts_0002fhtml_0002fdefa
ult_0002ejspdefault_jsp
	at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:177)
	at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java,
Compiled Code)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
	at org.apache.tomcat.core.Handler.service(Handler.java:286)
	at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
	at
org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl
.java:194)
	at
org.apache.jetspeed.services.jsp.JetspeedJspService.handleRequest(JetspeedJs
pService.java:163)
	at
org.apache.jetspeed.modules.layouts.JetspeedJspLayout.doBuild(JetspeedJspLay
out.java:117)
	at org.apache.turbine.modules.Layout.build(Layout.java:93)
	at
org.apache.turbine.modules.LayoutLoader.exec(LayoutLoader.java:122)
	at
org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:170)
	at org.apache.turbine.modules.Page.build(Page.java:92)
	at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:122)
	at org.apache.turbine.Turbine.doGet(Turbine.java, Compiled Code)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
	at org.apache.tomcat.core.Handler.service(Handler.java:286)
	at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
	at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
	at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
	at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
	at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java,
Compiled Code)
	at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java,
Compiled Code)
	at java.lang.Thread.run(Thread.java:479)


Thomas

Re: Automatic reloading of recompiled portlets?

Posted by Santiago Gala <sg...@hisitech.com>.
Foertsch, Thomas wrote:

> Is automatic reloading of portlets implemented in jetspeed 1.3a1? 
> After recompiling a portlet und accessing it, I get following error message:
> 

The problem comes if you change the whole jar, and turbine reloads. I'm not completely sure,
but I think it is due that the object stored in the Request is an "new" org.apache.turbine.util.RunData,
while you are casting it to a "old" org.apache.turbine.util.RunData, as jsp are not recompiled. It this 
is the explanation, then it qualifies as a tomcat bug. Tomcat should force recompilation of all jsp classes
belonging to a context whenever any context jar is reloaded.

Two java classes are the same if they have the same qualified name AND the same classloader. When you change
the jar, tomcat creates a new classloader to reload turbine. So, the cast fails, as the jsp file is compiled
and loaded against the "old" jar.

I'm not sure on how to handle this.

> Error: 500
> Location: /cvsjs/WEB-INF/templates/jsp/layouts/html/default.jsp
> Internal Servlet Error:
> 
> javax.servlet.ServletException: org.apache.turbine.util.RunData
> 	at
> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImp
> l.java:459)
> 	at
> WEB_0002dINF.templates.jsp.layouts.html._0002fWEB_0002dINF_0002ftemplates_00
> 02fjsp_0002flayouts_0002fhtml_0002fdefault_0002ejspdefault_jsp_0._jspService
> (_0002fWEB_0002dINF_0002ftemplates_0002fjsp_0002flayouts_0002fhtml_0002fdefa
> ult_0002ejspdefault_jsp
> 	at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at
> org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
> va:177)
> 	at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
> 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java,
> Compiled Code)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at
> org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
> 	at org.apache.tomcat.core.Handler.service(Handler.java:286)
> 	at
> org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
> 	at
> org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl
> .java:194)
> 	at
> org.apache.jetspeed.services.jsp.JetspeedJspService.handleRequest(JetspeedJs
> pService.java:163)
> 	at
> org.apache.jetspeed.modules.layouts.JetspeedJspLayout.doBuild(JetspeedJspLay
> out.java:117)
> 	at org.apache.turbine.modules.Layout.build(Layout.java:93)
> 	at
> org.apache.turbine.modules.LayoutLoader.exec(LayoutLoader.java:122)
> 	at
> org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:170)
> 	at org.apache.turbine.modules.Page.build(Page.java:92)
> 	at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:122)
> 	at org.apache.turbine.Turbine.doGet(Turbine.java, Compiled Code)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at
> org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
> 	at org.apache.tomcat.core.Handler.service(Handler.java:286)
> 	at
> org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
> 	at
> org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
> 7)
> 	at
> org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
> 	at
> org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
> onnectionHandler.java:210)
> 	at
> org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java,
> Compiled Code)
> 	at
> org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java,
> Compiled Code)
> 	at java.lang.Thread.run(Thread.java:479)
> 
> Root cause: 
> java.lang.ClassCastException: org.apache.turbine.util.RunData
> 	at
> org.apache.jetspeed.services.jsp.tags.URILookupTag.doStartTag(URILookupTag.j
> ava:94)
> 	at
> WEB_0002dINF.templates.jsp.layouts.html._0002fWEB_0002dINF_0002ftemplates_00
> 02fjsp_0002flayouts_0002fhtml_0002fdefault_0002ejspdefault_jsp_0._jspService
> (_0002fWEB_0002dINF_0002ftemplates_0002fjsp_0002flayouts_0002fhtml_0002fdefa
> ult_0002ejspdefault_jsp
> 	at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at
> org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
> va:177)
> 	at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
> 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java,
> Compiled Code)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at
> org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
> 	at org.apache.tomcat.core.Handler.service(Handler.java:286)
> 	at
> org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
> 	at
> org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl
> .java:194)
> 	at
> org.apache.jetspeed.services.jsp.JetspeedJspService.handleRequest(JetspeedJs
> pService.java:163)
> 	at
> org.apache.jetspeed.modules.layouts.JetspeedJspLayout.doBuild(JetspeedJspLay
> out.java:117)
> 	at org.apache.turbine.modules.Layout.build(Layout.java:93)
> 	at
> org.apache.turbine.modules.LayoutLoader.exec(LayoutLoader.java:122)
> 	at
> org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:170)
> 	at org.apache.turbine.modules.Page.build(Page.java:92)
> 	at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:122)
> 	at org.apache.turbine.Turbine.doGet(Turbine.java, Compiled Code)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at
> org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
> 	at org.apache.tomcat.core.Handler.service(Handler.java:286)
> 	at
> org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
> 	at
> org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
> 7)
> 	at
> org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
> 	at
> org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
> onnectionHandler.java:210)
> 	at
> org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java,
> Compiled Code)
> 	at
> org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java,
> Compiled Code)
> 	at java.lang.Thread.run(Thread.java:479)
> 
> 
> Thomas
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jetspeed-user-help@jakarta.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-user-help@jakarta.apache.org