Uploaded image for project: 'OpenWebBeans'
  1. OpenWebBeans
  2. OWB-597

StackOverFlow when injecting product in same bean where @Produces is placed

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Won't Fix
    • 1.1.1
    • 1.1.2
    • None
    • None
    • OWB 1.1.1-SNAPSHOT trunk

    Description

      public class SomeBean {
      @Inject private Product product;

      @Produces @Named public Product getProduct()

      {return new Product();}

      @Alternative
      public static class Product {}
      }

      + use @Inject in client:

      @Inject Product product;

      leads to:

      Exception in thread "main" java.lang.StackOverflowError
      at org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:182)
      at org.apache.webbeans.context.DependentContext.getInstance(DependentContext.java:69)
      at org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:190)
      at org.apache.webbeans.container.BeanManagerImpl.getReference(BeanManagerImpl.java:963)
      at org.apache.webbeans.component.AbstractProducerBean.getParentInstance(AbstractProducerBean.java:114)
      at org.apache.webbeans.component.ProducerMethodBean.createDefaultInstance(ProducerMethodBean.java:188)
      at org.apache.webbeans.component.ProducerMethodBean.createInstance(ProducerMethodBean.java:155)
      at org.apache.webbeans.component.AbstractOwbBean.createNewInstance(AbstractOwbBean.java:235)
      at org.apache.webbeans.portable.creation.AbstractProducer.produce(AbstractProducer.java:81)
      at org.apache.webbeans.component.InjectionTargetWrapper.produce(InjectionTargetWrapper.java:142)
      at org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:181)
      at org.apache.webbeans.context.DependentContext.getInstance(DependentContext.java:69)
      at org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:190)
      at org.apache.webbeans.container.BeanManagerImpl.getReference(BeanManagerImpl.java:963)
      at org.apache.webbeans.container.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:841)
      at org.apache.webbeans.inject.AbstractInjectable.inject(AbstractInjectable.java:133)
      at org.apache.webbeans.inject.InjectableField.doInjection(InjectableField.java:59)
      at org.apache.webbeans.component.AbstractInjectionTargetBean.injectField(AbstractInjectionTargetBean.java:384)
      at org.apache.webbeans.component.AbstractInjectionTargetBean.injectFields(AbstractInjectionTargetBean.java:321)
      at org.apache.webbeans.portable.creation.InjectionTargetProducer.inject(InjectionTargetProducer.java:95)
      at org.apache.webbeans.component.InjectionTargetWrapper.inject(InjectionTargetWrapper.java:80)
      at org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:182)
      at org.apache.webbeans.context.DependentContext.getInstance(DependentContext.java:69)
      at org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:190)
      at org.apache.webbeans.container.BeanManagerImpl.getReference(BeanManagerImpl.java:963)
      at org.apache.webbeans.component.AbstractProducerBean.getParentInstance(AbstractProducerBean.java:114)
      at org.apache.webbeans.component.ProducerMethodBean.createDefaultInstance(ProducerMethodBean.java:188)
      at org.apache.webbeans.component.ProducerMethodBean.createInstance(ProducerMethodBean.java:155)
      at org.apache.webbeans.component.AbstractOwbBean.createNewInstance(AbstractOwbBean.java:235)
      at org.apache.webbeans.portable.creation.AbstractProducer.produce(AbstractProducer.java:81)
      at org.apache.webbeans.component.InjectionTargetWrapper.produce(InjectionTargetWrapper.java:142)
      at org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:181)
      at org.apache.webbeans.context.DependentContext.getInstance(DependentContext.java:69)
      at org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:190)

      Weld handles this situation.

      Attachments

        Activity

          People

            struberg Mark Struberg
            markoc50 Martin Kočí
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: