Great, thanks Scott.
Scott Semyan wrote:
Done. http://issues.apache.org/jira/browse/BEEHIVE-716
-----Original Message-----
From: Richard Feit
Sent: Thursday, May 12, 2005 3:06 PM
To: Beehive Developers
Subject: Re: Error page within other page
Ah, the exception is getting thrown at the end of page rendering,
basically during the control's end-of-request callback. The issue is
that part of the outer page has already written to the response. I
think this is worth a bug, although it should be filed under TBD and not
v1.0. I'm not sure if there's anything we can do, but we might be able
to make the error-handling behavior different for included pages.
Scott Semyan wrote:
The error is being generated down within a control being called by a
control being called by a control being called by a page flow ;-)
However, I think this error is being caught in the sharedflow here:
@Jpf.ExceptionHandler(
forwards={
@Jpf.Forward(name="errorPage",
path="/resources/beehive/version1/jsps/error.jsp")
}
)
protected Forward handleDataStoreException(DataStoreException ex,
String actionName, String message, Object form) {
System.err.print("[" + getRequest().getContextPath() + "] ");
System.err.println("DataStore exception caught in
SharedFlow.jpfs:");
ex.printStackTrace();
return new Forward("errorPage");
}
Here is the full stack trace.
- PreparedStatement: insert into orders (userId, totalPrice,
creditCard, exprDate, cardType, status, shippingAddress,
billingAddress) values (?, ?, ?, ?, ?, 'OK', ?, ?) Params: {beehive,
18.50, 098098, jgh, Visa, 1, 1}
- PreparedStatement: select max(orderId) from Orders where userId = ?
Params: {beehive}
- PreparedStatement: update Items set inventoryQuantity = ? where
itemId = ? Params: {1, EST-4}
- PreparedStatement: insert into orderitems values (?, ?, ?) Params:
{2, EST-4, 1}
- Attempting to instantiate SharedFlowControllers for request
/petstoreWeb/checkout/viewOrder.do
- PreparedStatement: select orderId, userId, orderDate, totalPrice,
creditCard,exprDate, cardType, status, shippingAddress, billingAddress
from Orders where orderId = ? and userId = ? Params: {2, beehive}
- PreparedStatement: select addressId, userId, name, phone, addr1,
addr2, city, state, zip, country from Addresses where addressId = ?
Params: {1}
- PreparedStatement: select addressId, userId, name, phone, addr1,
addr2, city, state, zip, country from Addresses where addressId = ?
Params: {1}
- PreparedStatement: select o.itemId, productId, listPrice, unitCost,
supplier, status, attr1, inventoryQuantity as Qty, o.quantity from
OrderItems o, Items i where o.orderId = ? and o.itemId = i.itemId
Params: {2}
- Label: expression null resolved to null, using empty string.
- Handling uncaught Throwable
org.apache.beehive.controls.api.ControlException
- Could not find exception handler method handleException for
org.apache.beehive.controls.api.ControlException.
- Could not find exception handler method handleException for
java.lang.RuntimeException.
[/petstoreWeb] Unhandled exception caught in SharedFlow.jpfs:
org.apache.beehive.controls.api.ControlException: SQL Exception while
attempting to close database connection.[Invalid transaction state.]
at
org.apache.beehive.controls.system.jdbc.JdbcControlImpl.onRelease(JdbcC
o
ntrolImpl.java:133)
at
org.apache.beehive.controls.system.jdbc.JdbcControlImplInitializer$_res
o
urceContextResourceEventsEventAdaptor.onRelease(JdbcControlImplInitiali
z
er.java:20)
at
org.apache.beehive.controls.runtime.bean.ResourceContextImpl.release(Re
s
ourceContextImpl.java:144)
at
org.apache.beehive.controls.runtime.bean.ControlContainerContext.releas
e
Resources(ControlContainerContext.java:136)
at
org.apache.beehive.controls.runtime.bean.ControlContainerContext.endCon
t
ext(ControlContainerContext.java:64)
at
org.apache.beehive.controls.runtime.servlet.ServletBeanContext.endConte
x
t(ServletBeanContext.java:92)
at
org.apache.beehive.netui.pageflow.internal.JavaControlUtils.uninitializ
e
ControlContext(JavaControlUtils.java:85)
at
org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowP
a
geFilter.java:224)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
a
tionFilterChain.java:186)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
t
erChain.java:157)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispat
c
her.java:704)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDis
p
atcher.java:590)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispa
t
cher.java:510)
at
org.apache.beehive.netui.tags.template.IncludeSection.callDefault(Inclu
d
eSection.java:279)
at
org.apache.beehive.netui.tags.template.IncludeSection.doStartTag(Includ
e
Section.java:233)
at
org.apache.jsp.site.template_jsp._jspx_meth_netui$1template_includeSect
i
on_1(template_jsp.java:312)
at
org.apache.jsp.site.template_jsp._jspx_meth_netui_body_0(template_jsp.j
a
va:232)
at
org.apache.jsp.site.template_jsp._jspx_meth_netui_html_0(template_jsp.j
a
va:163)
at
org.apache.jsp.site.template_jsp._jspService(template_jsp.java:86)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.j
a
va:324)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292
)
at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
a
tionFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
t
erChain.java:157)
at
org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPa
g
eFilter.java:279)
at
org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowP
a
geFilter.java:204)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
a
tionFilterChain.java:186)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
t
erChain.java:157)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispat
c
her.java:704)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDis
p
atcher.java:590)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispa
t
cher.java:510)
at
org.apache.beehive.netui.tags.template.Template.doEndTag(Template.java:
2
80)
at
org.apache.jsp.checkout.viewOrder_jsp._jspx_meth_netui$1template_templa
t
e_0(viewOrder_jsp.java:232)
at
org.apache.jsp.checkout.viewOrder_jsp._jspService(viewOrder_jsp.java:97
)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.j
a
va:324)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292
)
at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
a
tionFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
t
erChain.java:157)
at
org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPa
g
eFilter.java:279)
at
org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowP
a
geFilter.java:204)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
a
tionFilterChain.java:186)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
t
erChain.java:157)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispat
c
her.java:704)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(Applicati
o
nDispatcher.java:474)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDis
p
atcher.java:409)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispa
t
cher.java:312)
at
org.apache.beehive.netui.pageflow.internal.DefaultForwardRedirectHandle
r
.forward(DefaultForwardRedirectHandler.java:127)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.doForward(Pa
g
eFlowRequestProcessor.java:1750)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processForwa
r
dConfig(PageFlowRequestProcessor.java:1624)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java
:
231)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInter
n
al(PageFlowRequestProcessor.java:591)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(Page
F
lowRequestProcessor.java:852)
at
org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(Aut
o
RegisterActionServlet.java:606)
at
org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlo
w
ActionServlet.java:162)
at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
a
tionFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
t
erChain.java:157)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispat
c
her.java:704)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(Applicati
o
nDispatcher.java:474)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDis
p
atcher.java:409)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispa
t
cher.java:312)
at
org.apache.beehive.netui.pageflow.internal.DefaultForwardRedirectHandle
r
.forward(DefaultForwardRedirectHandler.java:127)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.doForward(Pa
g
eFlowRequestProcessor.java:1750)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processForwa
r
dConfig(PageFlowRequestProcessor.java:1624)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java
:
231)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInter
n
al(PageFlowRequestProcessor.java:591)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(Page
F
lowRequestProcessor.java:852)
at
org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(Aut
o
RegisterActionServlet.java:606)
at
org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlo
w
ActionServlet.java:162)
at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
a
tionFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
t
erChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
v
e.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC
o
ntext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
5
20)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCo
n
textValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
v
e.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC
o
ntext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
5
20)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
a
:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC
o
ntext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
a
:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC
o
ntext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
5
20)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
.
java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC
o
ntext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
5
20)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:7
9
9)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
C
onnection(Http11Protocol.java:705)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:5
7
7)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPoo
l
.java:683)
at java.lang.Thread.run(Unknown Source) Caused by: SQL
Exception: Invalid transaction state.
at
org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java)
at
org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java)
at
org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java)
at
org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(EmbedConnect
i
on.java)
at
org.apache.derby.impl.jdbc.EmbedConnection.close(EmbedConnection.java)
at
org.apache.beehive.controls.system.jdbc.JdbcControlImpl.onRelease(JdbcC
o
ntrolImpl.java:131)
... 104 more
-----Original Message-----
From: Richard Feit
Sent: Thursday, May 12, 2005 2:43 PM
To: Beehive Developers
Subject: Re: Error page within other page
Quick question: where is the error being generated in the page flow?
In an action method? In a property getter?
Rich
Scott Semyan wrote:
I have a page which is currently generating an error. Instead of being
redirected completely to the error page, the first part of my template
is being rendered, then the error page.I thought any error would
redirect without rendering any of the page that generates the error.
The error happens in the page flow so I don't know why it is rendering
part of the other page. Again, this seems to be new behavior...
Scott Semyan