13 Replies Latest reply on Oct 14, 2008 6:01 PM by Tim Nguyen

    Concurrency issues?

    Tim Nguyen Newbie
      Environment:JSF1.2, Seam2.0.2.SP1, RichFaces3.2.2.GA,Tomcat6.0.18

      We have a searchForm (xhtml) that when you hit Search (a4j:commandButton), it will query the database (using SeachBean) and if the result returned too many records ( more than 50), it will pop-up a panel (using Richface Modal Panel) asking if you would like to Continue or cancel. If you hit Continue, it will continue Searching and return all the records.

      We did Load testing on this application using PureLoad. The test case is that user hits Search to return more than 50 records, then hits Continue button to perform the search.

      With 6 users running this test concurrently, loop through the search 5 times, it works fine and PureLoad does not return any failures. But if we use 7 test users, PureLoad failed on one user. Here is the track trace:

      #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException: #{searchBean.continueRendering}: /file:/prod/web/tar/current/webapps/tar/WEB-INF/lib/vrui.jar!/META-INF/results/tooLargeModal.xhtml @32,53 action=&quot;#{searchBean.continueRendering}&quot;: java.lang.NullPointerException
              javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
      org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:522)
      com.expd.arch.webaccess.EIFilter.doFilter(EIFilter.java:80)
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
      org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
      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:177)
      org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
      org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
      org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
      org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
      </pre></p><p><b>root cause</b> <pre>javax.faces.FacesException: #{searchBean.continueRendering}: /file:/prod/web/tar/current/webapps/tar/WEB-INF/lib/vrui.jar!/META-INF/results/tooLargeModal.xhtml @32,53 action=&quot;#{searchBean.continueRendering}&quot;: java.lang.NullPointerException
      com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
      javax.faces.component.UICommand.broadcast(UICommand.java:387)
      org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
      ...

      The PureLoad script is fine, it runs successfully for 1 user up to 6 users. I wonder if this is concurrency issue. In the SearchBean, we use this:

      @Name("searchBean")
      @Scope(ScopeType.SESSION)
      @Synchronized(timeout = 20000)
      public class SearchBean implements SearchAction {

      ...

      Anybody has any idea? Please help! Thank you
        • 1. Re: Concurrency issues?
          Pete Muir Master

          Please use a codeblock and post the whole stacktrace.

          • 2. Re: Concurrency issues?
            Tim Nguyen Newbie

            Pete, Thanks for replying me. Here is the whole stacktrace:


            <html><head><title>Apache Tomcat/6.0.10 - Error report</title><style><!--H1
            {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
            H2
            {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
            H3
            {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
            BODY
            {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B
            {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
            P
            {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A
            {color : black;}A.name {color : black;}HR {color : #525D76;}--></style>
            </head><body><h1>HTTP Status 500 - </h1><HR size="1"
            noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b>
            <u></u></p><p><b>description</b> <u>The server encountered an internal
            error () that prevented it from fulfilling this
            request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException:
            #{searchBean.continueRendering}:
            /file:/prod/web/tar/current/webapps/tar/WEB-INF/lib/vrui.jar!/META-INF/results/tooLargeModal.xhtml
            @32,53 action=&quot;#{searchBean.continueRendering}&quot;:
            java.lang.NullPointerException
                  javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
                  org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:522)
                  com.expd.arch.webaccess.EIFilter.doFilter(EIFilter.java:80)
            
            org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                  org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
            
            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:177)
                  org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
            
            org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
                  org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
                  org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
            
            org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
            
            org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
            </pre></p><p><b>root cause</b> <pre>javax.faces.FacesException:
            #{searchBean.continueRendering}:
            /file:/prod/web/tar/current/webapps/tar/WEB-INF/lib/vrui.jar!/META-INF/results/tooLargeModal.xhtml
            @32,53 action=&quot;#{searchBean.continueRendering}&quot;:
            java.lang.NullPointerException
            
            com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
                  javax.faces.component.UICommand.broadcast(UICommand.java:387)
            
            org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
            
            org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
            
            org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
            
            org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
            
            org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
            
            com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
                  com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
                  com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
                  javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
                  org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:522)
                  com.expd.arch.webaccess.EIFilter.doFilter(EIFilter.java:80)
            
            org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                  org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
            
            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:177)
                  org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
            
            org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
                  org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
                  org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
            
            org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
            
            org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
            </pre></p><p><b>root cause</b> <pre>javax.faces.el.EvaluationException:
            /file:/prod/web/tar/current/webapps/tar/WEB-INF/lib/vrui.jar!/META-INF/results/tooLargeModal.xhtml
            @32,53 action=&quot;#{searchBean.continueRendering}&quot;:
            java.lang.NullPointerException
            
            com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:73)
            
            com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
                  javax.faces.component.UICommand.broadcast(UICommand.java:387)
            
            org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
            
            org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
            
            org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
            
            org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
            
            org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
            
            com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
                  com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
                  com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
                  javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
                  org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:522)
                  com.expd.arch.webaccess.EIFilter.doFilter(EIFilter.java:80)
            
            org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                  org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
            
            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:177)
                  org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
            
            org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
                  org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
                  org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
            
            org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
            
            org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
            </pre></p><p><b>root cause</b> <pre>java.lang.NullPointerException
            
            com.expd.app.reportingplatform.search.SearchBean.buildTable(SearchBean.java:317)
            
            com.expd.app.reportingplatform.search.SearchBean.continueRendering(SearchBean.java:351)
                  sun.reflect.GeneratedMethodAccessor759.invoke(Unknown Source)
            
            sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                  java.lang.reflect.Method.invoke(Method.java:585)
                  org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
            
            org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
            
            org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
            
            org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
            
            org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
            
            org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
            
            org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
            
            org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
            
            org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
            
            org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:32)
            
            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:166)
            
            org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
            
            com.expd.app.reportingplatform.search.SearchBean_$$_javassist_5.continueRendering(SearchBean_$$_javassist_5.java)
                  sun.reflect.GeneratedMethodAccessor758.invoke(Unknown Source)
            
            sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                  java.lang.reflect.Method.invoke(Method.java:585)
            
            org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:329)
            
            org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:342)
            
            org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
                  org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
            
            org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
            
            com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
            
            com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
            
            com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
                  javax.faces.component.UICommand.broadcast(UICommand.java:387)
            
            org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
            
            org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
            
            org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
            
            org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
            
            org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
            
            com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
                  com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
                  com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
                  javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
                  org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:522)
                  com.expd.arch.webaccess.EIFilter.doFilter(EIFilter.java:80)
            
            org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                  org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
            
            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:177)
                  org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
            
            org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
                  org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
                  org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
            
            org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
            
            org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                  org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
            </pre></p><p><b>note</b> <u>The full stack trace of the root cause is
            available in the Apache Tomcat/6.0.10 logs.</u></p><HR size="1"
            noshade="noshade"><h3>Apache Tomcat/6.0.10</h3></body></html>


            • 3. Re: Concurrency issues?
              Pete Muir Master

              Still can't read that, it's got loads of html in it.

              • 4. Re: Concurrency issues?
                Francisco Jose Peredo Noguez Master

                You didn't post the full stack trace, in fact, you even posted a fragment of the incomplete stacktrace saying you didn't: "The full stack trace of the root cause is
                available in the Apache Tomcat/6.0.10 logs"
                :


                org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                      org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
                </pre></p><p><b>note</b> <u>The full stack trace of the root cause is
                available in the Apache Tomcat/6.0.10 logs.</u></p><HR size="1"
                noshade="noshade"><h3>Apache Tomcat/6.0.10</h3></body></html>
                



                You can get the full stack trace from the logs, or, if you are working in Eclipse, from the Console window.


                • 5. Re: Concurrency issues?
                  Scott Olcott Newbie

                  From the description of what your SearchBean does, it doesn't seem like it should be in Session scope which is multi-threaded.  This is something that could easily be in page or conversation scope which are single threaded according to section 4.1.10. Concurrency model of the documentation. 


                  If there are parts of the SearchBean that need to be in Session scope you could create a new component with just those properties that is in Session scope and put the rest of it in a single threaded scope.

                  • 6. Re: Concurrency issues?
                    Tim Nguyen Newbie

                    Sorry about that. Here is the full stack trace. Thanks again for your help!



                    2008-10-09 15:41:37,834 INFO  *http-28650-4* RemoteRepository.login:862 [] Login succeeded for user: qa-ramyac
                    2008-10-09 15:41:38,202 INFO  *http-28650-3* RemoteRepository.login:862 [] Login succeeded for user: qa-ramyac
                    2008-10-09 15:41:41,099 INFO  *http-28650-2* RemoteRepository.login:862 [] Login succeeded for user: qa-ramyac
                    Oct 9, 2008 3:42:56 PM com.sun.facelets.FaceletViewHandler handleRenderException
                    SEVERE: Error Rendering View[/trackShipmentResults.xhtml]
                    javax.faces.FacesException: java.lang.IllegalArgumentException: null
                            at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:725)
                            at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:675)
                            at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
                            at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:675)
                            at org.ajax4jsf.component.AjaxViewRoot.encodeChildren(AjaxViewRoot.java:509)
                            at javax.faces.component.UIComponent.encodeAll(UIComponent.java:936)
                            at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
                            at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
                            at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
                            at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
                            at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
                            at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
                            at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
                            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                            at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:503)
                            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                            at com.expd.arch.webaccess.EIFilter.doFilter(EIFilter.java:80)
                            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                            at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                            at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
                            at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                            at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
                            at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                            at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
                            at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                            at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147)
                            at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256)
                            at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362)
                            at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488)
                            at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
                            at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                            at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
                            at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                            at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
                            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
                            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
                            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
                            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
                            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
                            at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
                            at java.lang.Thread.run(Thread.java:595)
                    Caused by: java.lang.IllegalArgumentException: null
                            at javax.el.ListELResolver.coerce(ListELResolver.java:168)
                            at javax.el.ListELResolver.getValue(ListELResolver.java:51)
                            at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
                            at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
                            at org.jboss.el.parser.AstBracketSuffix.getValue(AstBracketSuffix.java:59)
                            at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
                            at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
                            at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
                            at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:40)
                            at org.jboss.el.parser.AstValue.getValue(AstValue.java:63)
                            at org.jboss.el.parser.AstNotEqual.getValue(AstNotEqual.java:21)
                            at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
                            at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
                            at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:390)
                            at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:276)
                            at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
                            at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:284)
                            at org.richfaces.renderkit.AbstractRowsRenderer.encodeCellChildren(AbstractRowsRenderer.java:285)
                            at org.richfaces.renderkit.AbstractTableRenderer.encodeOneRow(AbstractTableRenderer.java:287)
                            at org.richfaces.renderkit.AbstractRowsRenderer.process(AbstractRowsRenderer.java:86)
                            at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:101)
                            at org.richfaces.model.ModifiableModel.walk(ModifiableModel.java:118)
                            at org.ajax4jsf.component.UIDataAdaptor.walk(UIDataAdaptor.java:1112)
                            at org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:106)
                            at org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:91)
                            at org.richfaces.renderkit.AbstractRowsRenderer.encodeChildren(AbstractRowsRenderer.java:138)
                            at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
                            at javax.faces.component.UIComponent.encodeAll(UIComponent.java:936)
                            at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
                            at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
                            at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:282)
                            at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
                            at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:284)
                            at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
                            at org.ajax4jsf.renderkit.html.AjaxOutputPanelRenderer.encodeChildren(AjaxOutputPanelRenderer.java:79)
                            at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
                            at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:282)
                            at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:125)
                            at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxChildren(AjaxChildrenRenderer.java:68)
                            at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:116)
                            at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxChildren(AjaxChildrenRenderer.java:68)
                            at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:116)
                            at org.ajax4jsf.renderkit.AjaxContainerRenderer.encodeAjax(AjaxContainerRenderer.java:123)
                            at org.ajax4jsf.component.UIAjaxRegion.encodeAjax(UIAjaxRegion.java:267)
                            at org.ajax4jsf.component.AjaxViewRoot$4.invokeContextCallback(AjaxViewRoot.java:484)
                            at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:722)
                            ... 48 more
                    Oct 9, 2008 3:42:56 PM com.sun.faces.lifecycle.Phase doPhase
                    SEVERE: JSF1054: (Phase ID: RENDER_RESPONSE 6, View ID: /trackShipmentResults.xhtml) Exception thrown during phase execution: javax.faces.eve
                    nt.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@1eba31]
                    2008-10-09 15:42:56,414 ERROR *http-28650-2* ExceptionFilter.doFilter:68 [] handling uncaught exception
                    javax.servlet.ServletException: null
                            at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
                            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                            at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:503)
                            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                            at com.expd.arch.webaccess.EIFilter.doFilter(EIFilter.java:80)
                            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                            at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                            at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
                            at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                            at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
                            at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                            at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
                            at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                            at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147)
                            at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256)
                            at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362)
                            at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488)
                            at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
                            at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                            at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
                            at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                            at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
                            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
                            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
                            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
                            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
                            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
                            at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
                            at java.lang.Thread.run(Thread.java:595)
                    Caused by: java.lang.IllegalArgumentException: null
                            at javax.el.ListELResolver.coerce(ListELResolver.java:168)
                            at javax.el.ListELResolver.getValue(ListELResolver.java:51)
                            at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
                            at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
                            at org.jboss.el.parser.AstBracketSuffix.getValue(AstBracketSuffix.java:59)
                            at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
                            at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
                            at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
                            at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:40)
                            at org.jboss.el.parser.AstValue.getValue(AstValue.java:63)
                            at org.jboss.el.parser.AstNotEqual.getValue(AstNotEqual.java:21)
                            at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
                            at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
                            at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:390)
                            at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:276)
                            at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
                            at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:284)
                            at org.richfaces.renderkit.AbstractRowsRenderer.encodeCellChildren(AbstractRowsRenderer.java:285)
                            at org.richfaces.renderkit.AbstractTableRenderer.encodeOneRow(AbstractTableRenderer.java:287)
                            at org.richfaces.renderkit.AbstractRowsRenderer.process(AbstractRowsRenderer.java:86)
                            at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:101)
                            at org.richfaces.model.ModifiableModel.walk(ModifiableModel.java:118)
                            at org.ajax4jsf.component.UIDataAdaptor.walk(UIDataAdaptor.java:1112)
                            at org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:106)
                            at org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:91)
                            at org.richfaces.renderkit.AbstractRowsRenderer.encodeChildren(AbstractRowsRenderer.java:138)
                            at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
                            at javax.faces.component.UIComponent.encodeAll(UIComponent.java:936)
                            at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
                            at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
                            at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:282)
                            at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
                            at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:284)
                            at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
                            at org.ajax4jsf.renderkit.html.AjaxOutputPanelRenderer.encodeChildren(AjaxOutputPanelRenderer.java:79)
                            at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
                            at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:282)
                            at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:125)
                            at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxChildren(AjaxChildrenRenderer.java:68)
                            at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:116)
                            at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxChildren(AjaxChildrenRenderer.java:68)
                            at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:116)
                            at org.ajax4jsf.renderkit.AjaxContainerRenderer.encodeAjax(AjaxContainerRenderer.java:123)
                            at org.ajax4jsf.component.UIAjaxRegion.encodeAjax(UIAjaxRegion.java:267)
                            at org.ajax4jsf.component.AjaxViewRoot$4.invokeContextCallback(AjaxViewRoot.java:484)
                            at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:722)
                            at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:675)
                            at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
                            at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:675)
                            at org.ajax4jsf.component.AjaxViewRoot.encodeChildren(AjaxViewRoot.java:509)
                            at javax.faces.component.UIComponent.encodeAll(UIComponent.java:936)
                            at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
                            at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
                            at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
                            at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
                            at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
                            at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
                            at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
                            ... 36 more
                    2008-10-09 15:42:56,433 ERROR *http-28650-2* ExceptionFilter.doFilter:69 [] exception root cause
                    java.lang.IllegalArgumentException: null
                            at javax.el.ListELResolver.coerce(ListELResolver.java:168)
                            at javax.el.ListELResolver.getValue(ListELResolver.java:51)
                            at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
                            at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
                            at org.jboss.el.parser.AstBracketSuffix.getValue(AstBracketSuffix.java:59)
                            at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
                            at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
                            at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
                            at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:40)
                            at org.jboss.el.parser.AstValue.getValue(AstValue.java:63)
                            at org.jboss.el.parser.AstNotEqual.getValue(AstNotEqual.java:21)
                            at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
                            at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
                            at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:390)
                    --More--(2%)
                    


                    • 7. Re: Concurrency issues?
                      Tim Nguyen Newbie

                      I also get this warning after IllegalArgumentException. This might be to do with Seam Concurrency



                      Oct 9, 2008 5:36:00 PM org.apache.catalina.session.StandardSession writeObject
                      WARNING: Cannot serialize session attribute searchBean for session F506ED9CB699BB13B48B46D37A8FDA8B
                      java.io.NotSerializableException: com.expd.app.reportingplatform.search.SearchBean
                              at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
                              at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
                              at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
                              at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
                              at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
                              at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
                              at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1515)
                              at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:959)
                              at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:517)
                              at org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
                              at org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
                              at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4498)
                              at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:894)
                              at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1180)
                              at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1151)
                              at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:313)
                              at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
                              at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1056)
                              at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1068)
                              at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448)
                              at org.apache.catalina.core.StandardService.stop(StandardService.java:510)
                              at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
                              at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
                              at org.apache.catalina.startup.Catalina.start(Catalina.java:577)
                              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                              at java.lang.reflect.Method.invoke(Method.java:585)
                              at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
                              at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
                      2008-10-09 17:36:00,678 INFO  *main* XmlWebApplicationContext.doClose:672 [] Closing org.springframework.web.context.support.XmlWebApplicatio
                      nContext@b57af1: display name [Root WebApplicationContext]; startup date [Wed Oct 08 22:38:19 GMT 2008]; root of context hierarchy
                      


                      • 8. Re: Concurrency issues?
                        Tim Nguyen Newbie

                        Scott,


                        I don't know if it does anything with Session scope in the SearchBean. I just ran a load test for 30 users doing the search that only returns a small set of data (no Richface modal popup - pls see my first post)and it ran fine.


                        Thanks for your help,

                        • 9. Re: Concurrency issues?
                          Scott Olcott Newbie

                          In your first post you are specifying the scope of the SearchBean as Session


                          @Name("searchBean")
                          @Scope(ScopeType.SESSION)
                          @Synchronized(timeout = 20000)
                          public class SearchBean implements SearchAction {



                          If you change the scope there to a single threaded scope you can remove the  @Synchronized(timeout = 20000) and you don't have to worry about concurrency.


                          • 10. Re: Concurrency issues?
                            Tim Nguyen Newbie

                            Scott,
                            I removed @Synchronized(timeout = 20000) out of SearchBean but still keep SearchBean as Session Scope (I have a lot of stuff in Seach Bean that are in session scope). I still got the same IllegalArgumentException error with the RichModal :(
                            Thanks,

                            • 11. Re: Concurrency issues?
                              Pete Muir Master

                              Tim N wrote on Oct 13, 2008 18:16:


                              I also get this warning after IllegalArgumentException. This might be to do with Seam Concurrency


                              Oct 9, 2008 5:36:00 PM org.apache.catalina.session.StandardSession writeObject
                              WARNING: Cannot serialize session attribute searchBean for session F506ED9CB699BB13B48B46D37A8FDA8B
                              java.io.NotSerializableException: com.expd.app.reportingplatform.search.SearchBean
                                      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
                                      at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
                                      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
                                      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
                                      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
                                      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
                                      at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1515)
                                      at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:959)
                                      at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:517)
                                      at org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
                                      at org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
                                      at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4498)
                                      at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:894)
                                      at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1180)
                                      at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1151)
                                      at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:313)
                                      at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
                                      at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1056)
                                      at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1068)
                                      at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448)
                                      at org.apache.catalina.core.StandardService.stop(StandardService.java:510)
                                      at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
                                      at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
                                      at org.apache.catalina.startup.Catalina.start(Catalina.java:577)
                                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                      at java.lang.reflect.Method.invoke(Method.java:585)
                                      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
                                      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
                              2008-10-09 17:36:00,678 INFO  *main* XmlWebApplicationContext.doClose:672 [] Closing org.springframework.web.context.support.XmlWebApplicatio
                              nContext@b57af1: display name [Root WebApplicationContext]; startup date [Wed Oct 08 22:38:19 GMT 2008]; root of context hierarchy
                              





                              Just make your class implement serializable.

                              • 12. Re: Concurrency issues?
                                Pete Muir Master

                                Show your view

                                • 13. Re: Concurrency issues?
                                  Tim Nguyen Newbie

                                  Pete, here is my search.xhtml


                                  <ui:define name="input">
                                      <h:panelGrid columns="1">
                                       <h:inputText id="searchCriterion" 
                                        value="#{searchBean.inputReference}"
                                        converter="#{emptyStringConverter}"
                                        validator="#{searchBean.validate}" 
                                        required="true"/>
                                      <h:outputText id="searchCriterionHints" 
                                          value="#{promptHint}" 
                                       styleClass="hintTxt"
                                       rendered="#{promptHint ne null}" />
                                      </h:panelGrid>
                                  </ui:define>
                                  
                                  <ui:define name="submitBtn">
                                       <a4j:commandButton id="simpleSearchBtn" type="Submit"
                                          value="#{messages.go}"
                                          action="#{searchBean.search}"
                                             reRender="#{targets}"
                                          requestDelay="500"
                                     onclick="removeErrorLabels();hideFieldMessages();hideMessageBoard(); 
                                          hidePageContent();hideMetaData();" ignoreDupResponses="true" 
                                     
                                     oncomplete="showTooLargeModal( #{searchBean.tooLarge} );"
                                     
                                  
                                     eventsQueue="simplePromptFormQueue"
                                     status="ajaxStatus">
                                  
                                  <a4j:actionparam name="isSingle" value="#{isSinglePage}" assignTo="#{searchBean.singlePage}"/>
                                     <s:defaultAction />
                                       </a4j:commandButton>
                                  </ui:define>




                                  And if the result is too large, it directs to showTooLargeModal as below


                                  <h:form>
                                      <rich:modalPanel id="tooLargeModal" width="350" height="100">
                                          <f:facet name="header">
                                           <h:panelGroup>
                                           <h:outputText value="#{messages.continue_or_cancel_label}"></h:outputText>
                                           </h:panelGroup>
                                          </f:facet>
                                                  
                                       <div class="tooLargeModalTxt">#{messages.results_greater_than_continuable_threshold_message}</div>
                                                    
                                        <a4j:commandButton  id="tooLargeModalSubmitBtn"
                                           styleClass="tooLargeModalSubmitBtn"
                                       value="#{messages.continue_button_label}" 
                                       action="#{searchBean.continueRendering}"
                                       onclick="#{rich:component('tooLargeModal')}.hide();" 
                                       reRender="#{reRenderTargets}"
                                       ignoreDupResponses="true"
                                       status="ajaxStatus"
                                       timeout="25000"
                                       eventsQueue="tooLargeModalQueue"/>
                                        <a4j:commandButton      value="#{messages.cancel_button_label}"  
                                          ignoreDupResponses="true"
                                       eventsQueue="tooLargeModalQueue"
                                       actionListener="#{searchBean.cancelRendering}" 
                                       onclick="#{rich:component('tooLargeModal')}.hide()"  
                                       reRender="#{reRenderTargets}"/>
                                                                             
                                       </rich:modalPanel>
                                                
                                       </h:form>