[
https://jira.jboss.org/jira/browse/JBSEAM-4312?page=com.atlassian.jira.pl...
]
Matthew Lieder updated JBSEAM-4312:
-----------------------------------
Attachment: SeamTestcase.zip
Here's a Mavenized test case that easily reproduces it using c3p0 and HSQLDB. Just try
opening the webapp root (e.g.
http://localhost:8080/SeamTestcase3/) and watch the infinite
redirection occur and the logs fill up with the same database exception over and over and
over...
Exception while checking out transaction causing infinite loop trying
to render error page
------------------------------------------------------------------------------------------
Key: JBSEAM-4312
URL:
https://jira.jboss.org/jira/browse/JBSEAM-4312
Project: Seam
Issue Type: Bug
Components: Exception Handling
Affects Versions: 2.2.0.CR1
Environment: java 6, Tomcat 6, c3p0 0.9.2
Reporter: Matthew Lieder
Attachments: SeamTestcase.zip
We have the following pretty typical exception config in our pages.xml:
<exception>
<end-conversation />
<redirect view-id="/seam/error.xhtml">
<message
severity="error">#{org.jboss.seam.handledException}</message>
</redirect>
</exception>
That works great, except when our database server is down. In that case a
com.mchange.v2.resourcepool.TimeoutException is thrown and the exception handler is
properly called, but Seam then tries to access the database again when rendering the error
page and thus the cycle repeats ad infinitum. I don't believe this is specific to the
TimeoutException exception or even to c3p0; this seems to be a pretty general problem.
There needs to be some way to prevent Seam from trying to start a transaction while
rendering the error page, either always or maybe by an attribute on the <exception>
tag.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira