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