[ 
https://issues.apache.org/jira/browse/TOMEE-1992?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Romain Manni-Bucau resolved TOMEE-1992.
---------------------------------------
       Resolution: Fixed
         Assignee: Romain Manni-Bucau
    Fix Version/s: 7.0.3

> JMSContext is not serializable, causing problems for Session and Transaction 
> Scoped CDI beans
> ---------------------------------------------------------------------------------------------
>
>                 Key: TOMEE-1992
>                 URL: https://issues.apache.org/jira/browse/TOMEE-1992
>             Project: TomEE
>          Issue Type: Bug
>          Components: TomEE Core Server
>    Affects Versions: 7.0.2
>            Reporter: Jonathan S Fisher
>            Assignee: Romain Manni-Bucau
>              Labels: jms
>             Fix For: 7.0.3
>
>
> The JMSContext proxy instance is not Serializable, so creating this bean is 
> not possible:
> {code:java}
> @TransactionScoped
> public class JMSPoller implements Serializable, Runnable {
>     @Inject
>     @JMSConnectionFactory("jms/connectionFactory")
>     private JMSContext jmsContext;
> }
> {code}
> This will result in this:
> {code}
> javax.enterprise.inject.IllegalProductException: A producer method or field 
> of scope @Dependent returns an unserializable object for injection into an 
> injection point Field Injection Point, field name :  jmsContext, Bean Owner : 
> [JMSPoller, WebBeansType:MANAGED, Name:null, API 
> Types:[com.tomitribe.training.jms.JMSPoller,java.lang.Runnable,java.lang.Object,java.io.Serializable],
>  Qualifiers:[javax.enterprise.inject.Default,javax.enterprise.inject.Any]] 
> that requires a passivation capable dependency
>       at 
> org.apache.webbeans.inject.AbstractInjectable.inject(AbstractInjectable.java:123)
>       at 
> org.apache.webbeans.inject.InjectableField.doInjection(InjectableField.java:65)
>       at 
> org.apache.webbeans.portable.InjectionTargetImpl.injectFields(InjectionTargetImpl.java:220)
>       at 
> org.apache.webbeans.portable.InjectionTargetImpl.inject(InjectionTargetImpl.java:206)
>       at 
> org.apache.webbeans.portable.InjectionTargetImpl.inject(InjectionTargetImpl.java:196)
>       at 
> org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:126)
>       at org.apache.webbeans.component.ManagedBean.create(ManagedBean.java:67)
>       at 
> org.apache.webbeans.container.SerializableBean.create(SerializableBean.java:129)
>       at 
> org.apache.webbeans.context.creational.BeanInstanceBag.create(BeanInstanceBag.java:76)
>       at 
> org.apache.webbeans.context.AbstractContext.getInstance(AbstractContext.java:159)
>       at 
> org.apache.webbeans.context.AbstractContext.get(AbstractContext.java:125)
>       at 
> org.apache.webbeans.context.CustomPassivatingContextImpl.get(CustomPassivatingContextImpl.java:46)
>       at 
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:101)
>       at 
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.get(NormalScopedBeanInterceptorHandler.java:71)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to