[JBoss JIRA] Created: (JBSEAM-4528) static pages don't work at all with database down and XA datasource used
by deanhiller (JIRA)
static pages don't work at all with database down and XA datasource used
------------------------------------------------------------------------
Key: JBSEAM-4528
URL: https://jira.jboss.org/jira/browse/JBSEAM-4528
Project: Seam
Issue Type: Bug
Components: Core
Affects Versions: 2.2.0.GA
Environment: postgres or oracle with postgres or oracle XADatasource. postgres jdbc driver is fine while oracle driver is not
Reporter: deanhiller
Priority: Critical
If this is a hibernate bug, please report hibernate issue and ticket here as other seam users will run into this problem and it looks like a seam framework problem(or at least could be solved in seam but it may be possible to solve in hibernate too and could be solved in each and every driver datasource as well).
Steps to reproduce
1. start up the jboss 5.1.0 with latest seam
2. pull your internet connection so the db is gone
3. have all your customers go to a static page like /web/error.xhtml
RESULT: jboss goes to it's knees as users in IE end up in infinite redirects to your server causing more and more load on the server. The drivers talk to the database when they should not be. I have a work around proxy driver for oracle's jdbc driver. I do not however have a fix for oracle's datasource or postgres datasource.
I imagine someone could write a proxy datasource that would solve this problem for all people, hibernate, seam and all xa drivers. I will attach logs of postgres xa driver and oracle one but basically they are trying to open a connection to database when ANY http request comes in until waiting to see if we actually do any select statements or updates or inserts. For some reason, the postgres driver and oracle driver where fine here...they did not make db requests when an http request came in. The oracle driver however did make a request to the db when commit is called even if no sql was done against the db where postgres driver ignored the commit since no sql was done. I will try to attach files or more comments here. PLEASE if you report a tic in hibernate put it in here for others to find when they hit this issue.
keyphrases:
seam doesn't work when database goes down
seam infinite redirect on db outage
database failure causes seam to not work
--
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
13 years
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-4426) Can't configure two JPA entity managers for RESORUCE_LOCAL
by Felipe Jaekel (JIRA)
Can't configure two JPA entity managers for RESORUCE_LOCAL
----------------------------------------------------------
Key: JBSEAM-4426
URL: https://jira.jboss.org/jira/browse/JBSEAM-4426
Project: Seam
Issue Type: Bug
Affects Versions: 2.2.0.GA, 2.1.2.GA
Environment: JDK 6 update 16
Reporter: Felipe Jaekel
In order to configure two JPA entity managers for RESORUCE_LOCAL it's necessary to set the name attribute for each entity-transaction component. But after I do that I get the following exception:
javax.servlet.ServletException: exception invoking: getTransaction
javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:510)
org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
root cause
java.lang.RuntimeException: exception invoking: getTransaction
org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:154)
org.jboss.seam.Component.callComponentMethod(Component.java:2249)
org.jboss.seam.Component.unwrap(Component.java:2275)
org.jboss.seam.Component.getInstance(Component.java:2041)
org.jboss.seam.Component.getInstance(Component.java:2000)
org.jboss.seam.Component.getInstance(Component.java:1994)
org.jboss.seam.Component.getInstance(Component.java:1967)
org.jboss.seam.Component.getInstance(Component.java:1962)
org.jboss.seam.transaction.Transaction.instance(Transaction.java:39)
org.jboss.seam.util.Work.workInTransaction(Work.java:32)
org.jboss.seam.transaction.TransactionInterceptor.aroundInvoke(TransactionInterceptor.java:91)
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185)
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103)
teste.TesteMySql_$$_javassist_seam_2.toString(TesteMySql_$$_javassist_seam_2.java)
com.sun.facelets.util.DevTools.writeVariables(DevTools.java:168)
com.sun.facelets.util.DevTools.writeVariables(DevTools.java:145)
com.sun.facelets.util.DevTools.debugHtml(DevTools.java:109)
com.sun.facelets.FaceletViewHandler.handleRenderException(FaceletViewHandler.java:692)
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:660)
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:510)
org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
root cause
javax.naming.NamingException: Cannot create resource instance
org.apache.naming.factory.TransactionFactory.getObjectInstance(TransactionFactory.java:113)
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
org.apache.naming.NamingContext.lookup(NamingContext.java:793)
org.apache.naming.NamingContext.lookup(NamingContext.java:140)
org.apache.naming.NamingContext.lookup(NamingContext.java:781)
org.apache.naming.NamingContext.lookup(NamingContext.java:153)
org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
javax.naming.InitialContext.lookup(InitialContext.java:392)
org.jboss.seam.transaction.Transaction.getUserTransaction(Transaction.java:82)
org.jboss.seam.transaction.Transaction.createUTTransaction(Transaction.java:74)
org.jboss.seam.transaction.Transaction.getTransaction(Transaction.java:47)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)
org.jboss.seam.Component.callComponentMethod(Component.java:2249)
org.jboss.seam.Component.unwrap(Component.java:2275)
org.jboss.seam.Component.getInstance(Component.java:2041)
org.jboss.seam.Component.getInstance(Component.java:2000)
org.jboss.seam.Component.getInstance(Component.java:1994)
org.jboss.seam.Component.getInstance(Component.java:1967)
org.jboss.seam.Component.getInstance(Component.java:1962)
org.jboss.seam.transaction.Transaction.instance(Transaction.java:39)
org.jboss.seam.util.Work.workInTransaction(Work.java:32)
org.jboss.seam.transaction.TransactionInterceptor.aroundInvoke(TransactionInterceptor.java:91)
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185)
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103)
teste.TesteMySql_$$_javassist_seam_2.toString(TesteMySql_$$_javassist_seam_2.java)
com.sun.facelets.util.DevTools.writeVariables(DevTools.java:168)
com.sun.facelets.util.DevTools.writeVariables(DevTools.java:145)
com.sun.facelets.util.DevTools.debugHtml(DevTools.java:109)
com.sun.facelets.FaceletViewHandler.handleRenderException(FaceletViewHandler.java:692)
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:660)
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:510)
org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
--
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
13 years, 1 month
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1279) use ExceptionFilter in Remoting
by Keith Naas (JIRA)
use ExceptionFilter in Remoting
-------------------------------
Key: JBSEAM-1279
URL: http://jira.jboss.com/jira/browse/JBSEAM-1279
Project: JBoss Seam
Issue Type: Feature Request
Components: Remoting
Affects Versions: 1.2.1.GA
Reporter: Keith Naas
Assigned To: Shane Bryzak
Currently, the Remoting resource class swallows all exceptions. Because of this, it is not possible to gracefully handle security restrictions in WebRemote methods from the client.
Two ideas:
# Simply bubble the Exception all the way up through the ResourceServlet. If the ResourceServlet throws the exception, the ExceptionFilter should pick up on it. The XHR would then receive the proper error code as defined in the pages.xml and could properly redirect the user to the correct login page.
# Have the ResourceServlet trap for NotLoggedInException's or NotAuthorizedException's and return the respective HTTP status code. The XHR would then receive the error code and be able to redirect the user to the correct login page.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-3355) SeamExpressionEvaluator gobbles up exceptions
by Wolfgang Schwendt (JIRA)
SeamExpressionEvaluator gobbles up exceptions
----------------------------------------------
Key: JBSEAM-3355
URL: https://jira.jboss.org/jira/browse/JBSEAM-3355
Project: Seam
Issue Type: Bug
Affects Versions: 2.1.0.BETA1
Reporter: Wolfgang Schwendt
Priority: Critical
Rev 8710 of org.jboss.seam.bpm.SeamExpressionEvaluator introduced a serious bug. If the invocation of the method expression (me.invoke(...)) throws an exception such as org.jboss.seam.security.AuthorizationException, the SeamExpressionEvaluator afterwards tries to evaluate the EL expression as a value expression. This of course results in a second exception thrown: PropertyNotFoundException. Consequently, the list "exceptions" has size > 2 (rather than just size==1), which results in SeamExpressionEvaluator throwing an ELException that does not wrap the exception which originally caused the method expression invocation to fail.
The bug was introduced because, compared with earlier versions, the try/catch-blocks for the method expression and value expression evaluation were changed and are now wrong. This is serious because it breaks the handling of any application exception thrown while evaluating the EL method expression, such as AuthorizationException.
--
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
13 years, 3 months