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

    ContextNotActiveException and conversation scope

    M R Newbie

      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
          Nicklas Karlsson Master

          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
            Pete Muir Master

            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...