Hi Mark,

thank you very much for your response. I've tried your suggestion and
it worked great. I didn't knew about the BDA part in the spec and
assumed that CODI's beans.xml would globally enable the interceptor.
You are right! This BDA stuff is crap! :-)

@Matthias: Nice workaround! ;)

Thanks

Christian



2011/3/9 Mark Struberg <strub...@yahoo.de>:
> Hi Christian!
>
> The major difference between Weld and OpenWebBeans in the interceptor area is 
> that Weld strictly follows the "Bean Definition Archive" (BDA) part of the 
> spec. This got added pretty late (in the last few weeks before the spec went 
> final and imo is complete crap [1] ;)
>
> In Weld you have to add the <interceptors> section to ALL jars as well as to 
> the WAR you like to use the interceptor in. Whereas in OWB it is enough to 
> just have it enabled in 1 of the beans.xml files.
>
> So please try adding those section to all your beans.xml files and plz report 
> back if that worked out.
>
> LieGrue,
> strub
>
>
> [1] https://issues.jboss.org/browse/CDI-18
> --- On Wed, 3/9/11, Christian Kaltepoth <christ...@kaltepoth.de> wrote:
>
>> From: Christian Kaltepoth <christ...@kaltepoth.de>
>> Subject: MyFaces CODI and Weld 1.0.1
>> To: "MyFaces Discussion" <users@myfaces.apache.org>
>> Date: Wednesday, March 9, 2011, 12:31 PM
>> Hey all,
>>
>> we are currently developing an application based on Weld
>> 1.0.1 and
>> MyFaces CODI. Unfortunately we have some strange problems
>> regarding
>> CODI's @Transactional not always being applied correctly.
>> It seems to
>> be completely ignored in some situations.
>>
>> I've reproduced this problem with Matthias'
>> Modern-EE-JSF2.0 example
>> application. I did just two modifications:
>>
>> 1. Weld doesn't support to inject the EntityManager via
>> @PersistenceContext. So I created a class named
>> EntityManagerProducer
>> to create request scoped EntityManager instances. Then I
>> replaced
>> @PersistenceContext in the DAO with @Inject. This works
>> fine with
>> OpenWebBeans.
>>
>> 2. Then I removed OpenWebBeans and added Weld 1.0.1 to the
>> dependencies. After that @Transactional immediately stopped
>> working.
>> It seems like the TransactionalInterceptor doesn't get
>> invoked at all.
>> No transactions are started and changes to the database
>> aren't
>> persisted any more.
>>
>> You can get the example application here:
>>
>> https://github.com/chkal/modern-ee-app20
>>
>> Here are the modifications I made to the application:
>>
>> https://github.com/chkal/modern-ee-app20/commits/master
>>
>> Does anyone have an idea what is causing this? I'm not
>> really sure if
>> it is a CODI or a Weld issue.
>>
>> Thanks
>>
>> Christian
>>
>>
>> --
>> Christian Kaltepoth
>> Blog: http://chkal.blogspot.com/
>> Twitter: http://twitter.com/chkal
>>
>
>
>
>



-- 
Christian Kaltepoth
Blog: http://chkal.blogspot.com/
Twitter: http://twitter.com/chkal

Reply via email to