3 Replies Latest reply on Feb 21, 2007 11:00 AM by gavin.king

    what is concurrent-request-timeout

    mnrz

      Hello

      actually I have two question
      one is the same as title, what is the concurrent-request-timeout in components.xml and what happen if it being increased or decreased?

      second, I have a session bean with Conversation scope and it has an action listener method. in xhtml file I have a button which call that action listener.

      this method builds an Excel format file from the given data. if the data is a little it works fine but if the records are more than say,10000 records a strange exception is thrown. I said strange, because it is not about the data proccessing it's something about JSF, it say the method not found however, the logs show me the method is started to proccessing the data??!! and after this exception the cursor exit the method and converting is uncopleted.

      ERROR Servlet.service() for servlet Faces Servlet threw exception
      javax.faces.el.MethodNotFoundException: /pages/main/resultQuery.xhtml @34,28 actionListener="#{exportData.expo
      rt}": Method not found: ExportDataAction:5c4o04d-ph7jai-eyfckqo4-1-eyfd8jd9-7.export(javax.faces.event.ActionE
      vent)
       at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:71)
       at javax.faces.component.UICommand.broadcast(UICommand.java:89)
       at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
       at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
       at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
       at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
       at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:100)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:29)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.jboss.seam.servlet.SeamCharacterEncodingFilter.doFilter(SeamCharacterEncodingFilter.java:41)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
       at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.ja
      va:744)
       at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
       at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
       at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
       at java.lang.Thread.run(Thread.java:595)
      


        • 1. Re: what is concurrent-request-timeout

          To the first question

          Seam serialises access to a conversation to stop concurrent requests (usually AJAX) interfering which each other. The timeout is how long a request will wait for the conversation to be "unlocked" by the conversation currently using it. It the timeout expires the request will not reacquire the conversation and just create a temporary one instead.

          Making the timeout smaller increases the chance of a request timing out while waiting for the conversation but it reduces the time it will block for. Making the timeout bigger makes it less likely that the request will time out while waiting but may block for longer waiting.

          Depends on your situation whether avoiding request blocks or avoiding "missing" the conversation is more important to you.

          HTH.

          Mike.

          • 2. Re: what is concurrent-request-timeout
            mnrz

            is that weird exception somehow an issue of this property (concurrent-request-timeout)?

            • 3. Re: what is concurrent-request-timeout
              gavin.king

              No. Looks like you don't have an export(ActionEvent) method on the local interface.