Uploaded image for project: 'MyFaces CODI'
  1. MyFaces CODI
  2. EXTCDI-310

ConversationScope producer in a ConversationScope bean = endless loop

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 1.0.5
    • None
    • JEE-JSF20-Module
    • None
    • WebSphere v8.5.0.2 + JDK 7 + OWB embedded in WAS

    Description

      When we declare a CODI ConversationScope producer in a CODI ConversationScope bean, and we reference the object created by the producer in a facelets page, the server enters an endless loop and ends up with a StackOverFlowError

      With this bean:
      @Named("convScopeproducerInConvScopeBean")
      @ConversationScoped
      public class ConvScopeproducerInConvScopeBean implements Serializable {
      private static final long serialVersionUID = 1L;
      @Produces @ConversationScoped @Named("getConvScopeList")
      public ArrayList<String> getConversationScopeList()

      { ArrayList<String> res = new ArrayList<>(); res.add("dummy string"); return res; }

      }

      And this in a xhtml page: "Size of list : #

      {getConvScopeList.size()}

      "

      The repeated part of the exception stacktrace is :
      ...
      at org.apache.webbeans.inject.InjectableMethods.doInjection(InjectableMethods.java:205)
      at org.apache.webbeans.component.ProducerMethodBean.createDefaultInstance(ProducerMethodBean.java:204)
      at org.apache.webbeans.component.ProducerMethodBean.createInstance(ProducerMethodBean.java:166)
      at org.apache.webbeans.component.AbstractOwbBean.createNewInstance(AbstractOwbBean.java:216)
      at org.apache.webbeans.portable.creation.AbstractProducer.produce(AbstractProducer.java:82)
      at org.apache.webbeans.component.InjectionTargetWrapper.produce(InjectionTargetWrapper.java:142)
      at org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:174)
      at org.apache.webbeans.container.SerializableBean.create(SerializableBean.java:128)
      at org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.createNewInstanceOfBean(CodiUtils.java:69)
      at org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.createNewBeanInstance(AbstractConversationBeanEntry.java:139)
      at org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.getBeanInstance(AbstractConversationBeanEntry.java:84)
      at org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.DefaultConversation.getBean(DefaultConversation.java:163)
      at org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.GroupedConversationContext.resolveBeanInstance(GroupedConversationContext.java:185)
      at org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.AbstractGroupedConversationContext.resolve(AbstractGroupedConversationContext.java:114)
      at org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.ConversationContextAdapter.get(ConversationContextAdapter.java:98)
      at org.apache.webbeans.context.CustomContextImpl.get(CustomContextImpl.java:48)
      at org.apache.webbeans.context.CustomPassivatingContextImpl.get(CustomPassivatingContextImpl.java:47)
      at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:127)
      at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:95)
      at com.test.ConvScopeproducerInConvScopeBean_$$javassist_154.getConversationScopeList(ConvScopeproducerInConvScopeBean$$_javassist_154.java)
      ...

      This works well with the CDI ConversatioScope or other scopes or if the bean is not in the CODI conversationScope..

      I will attach an ear with the problem

      Attachments

        1. EAR_extcdi_310.ear
          505 kB
          Denis Forveille

        Activity

          People

            Unassigned Unassigned
            denis.forveille Denis Forveille
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: