[
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)