[jboss-jira] [JBoss JIRA] Commented: (JBAS-7788) <check-valid-connection-sql> done after a failure maybe?
deanhiller (JIRA)
jira-events at lists.jboss.org
Wed Mar 10 13:45:38 EST 2010
[ https://jira.jboss.org/jira/browse/JBAS-7788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12519279#action_12519279 ]
deanhiller commented on JBAS-7788:
----------------------------------
oh yeah, for others using seam here is the workaround. Use check-valid-connection-sql. Seam unfortunately plugs a JSF phase listener in that does transactions so you can't create a JSF page thinking no transactions will take place....wrong!!! Instead create a jsp file and have seam redirect to the jsp file when there is an exception that is most likely a database outage. yes, you lose being able to use facelets...sorry, but unfortunately once seam is with JSF, you can use JSF without the tx occuring :(. I got pretty deep into this code myself but finally resolved it that way oh, and for the redirect, you CAN use the jsp in the view-id still even though it is not a seam page. Lastly, you need seam servlet url pattern /* and facelets to be *.xhtml and finally need JSF to be .xhtml. and that works great now for us. The app doesn't work as good as it could with the db down though(pages that don't access db and just the filesystem are broken of course while db is down).
later and I hope that helps,
Dean
> <check-valid-connection-sql> done after a failure maybe?
> --------------------------------------------------------
>
> Key: JBAS-7788
> URL: https://jira.jboss.org/jira/browse/JBAS-7788
> Project: JBoss Application Server
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: JCA service
> Affects Versions: JBossAS-5.1.0.GA
> Reporter: deanhiller
> Assignee: Jesper Pedersen
>
> related directly to this bug in seam https://jira.jboss.org/jira/browse/JBSEAM-4528
> I would prefer the <check-valid-connection-sql> be run AFTER any exceptions from the jdbc api rather than before it. This would fix half the bug in the ticket referred to above(at least with postgres' case)....
> ie.
> 1. go get a wrapper connection(not from pool)
> 2. when you make a real jdbc call, go get the real connection from the pool
> 3. if that jdbc call fails with an exception, run the check-valid-connection-sql
> 4. If check-valid-connection-sql fails, go get another connection from pool(or create one) and if fails, move to next
> 5. once all connections are exhausted, throw exception back to framework or whoever called the jdbc call.
> NOTE: This gives the performance benefit on sunny day we are never running the check valid connection sql. It also solves half of the ticket above which tends to break postgres/jboss/seam combination from working. I have to have check valid connection sql or my seam app never recovers from a db outage but having that also causes all normal seam pages that don't need the database to spin the browser into infinite redirect(ie. if I hit login page it comes up in jboss/seam IF AND ONLY IF I don't have check-valid-connection-sql set).
> thanks,
> Dean
--
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
More information about the jboss-jira
mailing list