Overview
Other MyFaces Extensions
- ExtVal
- Ext-Script
- [Orchestra]
- [Portlet Bridge]
Community
Development
Sponsorship
Your browser does not support iframes
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 way higher 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.
Besides that CODI v1+ provides special alternative packages which try to bypass as many issues as possible. We already have users who are using Glassfish3/Weld in combination with CODI for their projects. However, users already saw new issues after updating the version of Weld they are using. That isn't specific to CODI - it's true for a lot of portable extensions.
We recommend Apache OpenWebBeans (and no - not because it's the CDI implementation hosted at Apache )So if you prefer a more solid setup, we recommend Apache OpenWebBeans. 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.