You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Denis Forveille <de...@gmail.com> on 2012/12/12 22:20:16 UTC

[CODI] @ConversationScope + @Stateful in WebSphere v8.5 = java.lang.StackOverflowError

Hello,
In WebSphere v8.5.0.1 this very simple bean causes a
java.lang.StackOverflowError :

@Named("codiTestConversationCtrl")
@ConversationScoped
@Stateful
public class CODITestConversationCtrl implements Serializable {
   private static final long serialVersionUID = 1L;
   private Integer           valeur;

<whatever code from her, getters/setters etc>

It is referenced in a page with
   #{codiTestConversationCtrl.valeur}

If I add a method annoted with @PostConstruct, it is called a lot of times...

Some part of the very long traceback:
        <and again...>
	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.ejb.component.WSEjbBean.getInstance(WSEjbBean.java:196)
	at org.apache.webbeans.ejb.common.component.BaseEjbBean.createComponentInstance(BaseEjbBean.java:104)
	at org.apache.webbeans.component.AbstractInjectionTargetBean.createDefaultInstance(AbstractInjectionTargetBean.java:134)
	at org.apache.webbeans.component.AbstractInjectionTargetBean.createInstance(AbstractInjectionTargetBean.java:117)
	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:145)
	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.ejb.component.WSEjbBean.getInstance(WSEjbBean.java:196)
	at org.apache.webbeans.ejb.common.component.BaseEjbBean.createComponentInstance(BaseEjbBean.java:104)
	at org.apache.webbeans.component.AbstractInjectionTargetBean.createDefaultInstance(AbstractInjectionTargetBean.java:134)
	at org.apache.webbeans.component.AbstractInjectionTargetBean.createInstance(AbstractInjectionTargetBean.java:117)
	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:145)
	at org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:174)

Re: [CODI] @ConversationScope + @Stateful in WebSphere v8.5 = java.lang.StackOverflowError

Posted by Denis Forveille <de...@gmail.com>.
I forgot to say that when I use the CDI @ConversationScoped standard
annotation, it works
The code fail if I use CODI @ConversationScoped annotation
Also If I remove the @Stateful annotation to use a plain POJO instead
of a SFSB, it works too..

2012/12/12 Denis Forveille <de...@gmail.com>:
> Hello,
> In WebSphere v8.5.0.1 this very simple bean causes a
> java.lang.StackOverflowError :
>
> @Named("codiTestConversationCtrl")
> @ConversationScoped
> @Stateful
> public class CODITestConversationCtrl implements Serializable {
>    private static final long serialVersionUID = 1L;
>    private Integer           valeur;
>
> <whatever code from her, getters/setters etc>
>
> It is referenced in a page with
>    #{codiTestConversationCtrl.valeur}
>
> If I add a method annoted with @PostConstruct, it is called a lot of times...
>
> Some part of the very long traceback:
>         <and again...>
>         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.ejb.component.WSEjbBean.getInstance(WSEjbBean.java:196)
>         at org.apache.webbeans.ejb.common.component.BaseEjbBean.createComponentInstance(BaseEjbBean.java:104)
>         at org.apache.webbeans.component.AbstractInjectionTargetBean.createDefaultInstance(AbstractInjectionTargetBean.java:134)
>         at org.apache.webbeans.component.AbstractInjectionTargetBean.createInstance(AbstractInjectionTargetBean.java:117)
>         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:145)
>         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.ejb.component.WSEjbBean.getInstance(WSEjbBean.java:196)
>         at org.apache.webbeans.ejb.common.component.BaseEjbBean.createComponentInstance(BaseEjbBean.java:104)
>         at org.apache.webbeans.component.AbstractInjectionTargetBean.createDefaultInstance(AbstractInjectionTargetBean.java:134)
>         at org.apache.webbeans.component.AbstractInjectionTargetBean.createInstance(AbstractInjectionTargetBean.java:117)
>         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:145)
>         at org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:174)