Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Implement @FlowDefinition cdi annotation, as described in the spec.
I have found this annotation very tricky to implement. It is simple to do it using @Produces annotation, but the real trouble is we can't use CDI annotations inside myfaces implementation by the following reasons:
- jar files without beans.xml will not be scanned. If we add the file inside myfaces jar, CDI will try to scan all classes inside the jar file, and some of them require optional dependencies. The final effect is CDI will start to throw errors.
- In some cases, myfaces jars are not on WEB-INF/lib folder, and are just part of the default libraries of the server, so there is no reference to the files.
The only option is use javax.enterprise.inject.spi.Producer, but Producer.getInjectionPoints() returns a Set<InjectionPoint> which usually are customized for the CDI implementation. So, we need to provide an implementation, but before that, we need to check how that part works to do not break CDI implementations.