2 Replies Latest reply on May 19, 2010 1:35 PM by pmuir

    ContextNotActiveException and conversation scope

    szk

      I'm using weld with jsf 2.0 on glassfish v3.
      I've some beans with convesation scope.
      In custom ExceptionHandler when I'm trying to navigate to error page I got following exception:



      org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type @ConversationScoped
              at org.jboss.weld.conversation.ConversationImpl.checkConversationActive(ConversationImpl.java:79)
              at org.jboss.weld.conversation.ConversationImpl.isTransient(ConversationImpl.java:234)
              at sun.reflect.GeneratedMethodAccessor538.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)



      So what I'm doing wrong? Should I end long-running conversation before navigation or what?



        • 1. Re: ContextNotActiveException and conversation scope
          nickarls

          I'm no Servlet/JSF lifecycle expert, I'm not sure if the contexts/injection should be available in exception handlers/error pages so I can't comment on if it's a bug or not but you should be able to kick-start the contexts yourself in Weld yourself using ServletContextLifecycle/ConversationManager...

          • 2. Re: ContextNotActiveException and conversation scope
            pmuir

            M R wrote on May 13, 2010 23:12:


            I'm using weld with jsf 2.0 on glassfish v3.
            I've some beans with convesation scope.
            In custom ExceptionHandler when I'm trying to navigate to error page I got following exception:


            org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type @ConversationScoped
                    at org.jboss.weld.conversation.ConversationImpl.checkConversationActive(ConversationImpl.java:79)
                    at org.jboss.weld.conversation.ConversationImpl.isTransient(ConversationImpl.java:234)
                    at sun.reflect.GeneratedMethodAccessor538.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                    at java.lang.reflect.Method.invoke(Method.java:597)



            So what I'm doing wrong? Should I end long-running conversation before navigation or what?





            Looks to me like a bug in something ;-)


            Can you report an issue in Weld, the conversation should be active here...