Hi John!

Welcome to OWB, and thanks for reporting this issues!

I think for the first Serialization issue I need the stactrace.

Regarding the 2nd issue: can yo please check your @Disposes method?
public void closeSession(@Disposes @Any Session s) throws JMSException
@Any seems wrong, because the spec states that the @Disposes must be in the 
same class which contains the producer afaik. So you should use @Default if any.

Do you haven an example for us so we can re-test this?
Should all work with owb-1.1.0 imo.

LieGrue,
strub


--- On Sun, 7/24/11, John D. Ament <[email protected]> wrote:

From: John D. Ament <[email protected]>
Subject: Greetings all
To: [email protected]
Date: Sunday, July 24, 2011, 12:11 PM

Hi all

I'm new to OpenWebBeans, but not CDI (have been working with Weld for a year 
now).  I am working on CDI support for JMS and ran into an issue trying to make 
tests run on openwebbeans + activemq.  It looks like I"m working with OWB 1.0, 
so this might be fixed already.  I think I'm stuck with whatever Arquillian 
supports for right now.


When working with Weld + HornetQ, I am able to inject session instances to 
dependent beans when the session is dependent.  The session implementation is 
not serializable.  When running tests against OWB + activemq, I end up with 
this failure:


Caused by: javax.enterprise.inject.IllegalProductException: If a producer 
method or field of scope @Dependent returns an serializable object for 
injection into an injection point Field Injection Point, field name :  session, 
Bean Owner : [Name:null,WebBeans Type:MANAGED,API 
Types:[java.lang.Object,org.jboss.seam.jms.MessageManager,java.io.Serializable,org.jboss.seam.jms.MessageManagerImpl],Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]]
 that requires a passivation capable dependency


In all cases, my components are Dependent, nothing is SessionScoped.

Another issue I ran into, the following two beans apparently conflict with one 
another:

https://github.com/johnament/seam-jms/blob/develop/impl/src/main/java/org/jboss/seam/jms/impl/inject/SessionProducer.java


https://github.com/johnament/seam-jms/blob/develop/api/src/main/java/org/jboss/seam/jms/inject/JmsSessionProducer.java


One is dependent the other is @JmsDefault.  Only one should satisfy @Inject 
Session session, but fails stating that both satisfy it.

Thoughts on this?

- John
Seam JMS Module Lead
http://bit.ly/ihateseamjms




Reply via email to