Your browser does not support iframes
This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.
Before you start reading the summary we would like to mention that we observe a quite good progress and over time CDI implementations are getting better.
We are aware that implementing a CDI container is not an easy task (esp. concerning real portability) and we have high respect for all committers who are working on a CDI implementation (currently: Weld, OpenWebBeans and CanDI). This page does not intend to blame a group of committers - it's just a summary of what was experienced/reported (by different users) so far.
We test all features with Apache OpenWebBeans which is very solid and currently offers a better performance than Weld.
However, we also have some tests and examples for Glassfish3/Weld as well as JBoss AS 7. The problem is: so far every Weld release fixed some issues but also introduced at least one new major issue (at least up to v1.1.1 - some of them might be specific to a specific application server).
We already implemented a lot of workarounds for Weld. However, there are different Weld issue (in different versions) we can't bypass. We already filed several bug reports.
If you are facing a problem in combination with CODI, please contact our mailing-list. Since we know most of the issues the answer will be "Please use/try ..." or "Please file a bug report for Weld" or "We are aware of it and we already filed a bug report" or "You can try the manual workaround: ...". However, please contact us in any case because you might have found a new problem.
We recommend Apache OpenWebBeans (and no - not because it's the CDI implementation hosted at Apache ). OpenWebBeans in combination with CODI is successfully used for several ! real world ! applications which serve millions requests a day and allows to use e.g. advanced plug-ins like the CODI Boost Add-on. In case of JBoss Weld we recommend version 1.1.4+ (and v1.1.1 as an absolute minimum).
Usually it's possible to upgrade Glassfish with the newest version of Weld. That's not the case with Weld v1.1.2 due to a cache which broke the integration with Glassfish at least up to v3.1.1. Since CODI will resolve the first bean you will see e.g. something like: Critical error during deployment: java.lang.NoClassDefFoundError: org/jboss/weld/context/cache/RequestScopedBeanCache at org.apache.myfaces.extensions.cdi.core.api.config.CodiCoreConfig$Proxy$$$_WeldClientProxy.isAdvancedQualifierRequiredForDependencyInjection(CodiCoreConfig$Proxy$$$_WeldClientProxy.java). However, that isn't a CODI bug. If you use the version of weld which is supported by Glassfish officially, you won't have such problems.