Jonathan S Fisher created TOMEE-1992:
----------------------------------------
Summary: 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
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)