Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
4.0.0-RC1
-
None
-
None
Description
FacesArtifactProducer is only registered when @FacesConfig is present. This means @Push and @FlowBuilderParameter are used, Weld will report these errors:
WELD-001408: Unsatisfied dependencies for type FlowBuilder with qualifiers @FlowBuilderParameter
WELD-001408: Unsatisfied dependencies for type PushContext with qualifiers @Push
This breaks many applications, as what previously worked does not.
Just for reference: PushContextFactoryBean.java was previously used for the cdi producer registration, but was removed. The getPushContext method was moved to the FacesArtifactProducer (JsfArtifactProducer).
I think the solution is to have Faces behave as if @FacesConfig is present (even when it's not). In other words, always register cdi producers.
See code here:
https://github.com/apache/myfaces/blob/main/impl/src/main/java/org/apache/myfaces/cdi/FacesArtifactProducerExtension.java#L32
Attachments
Issue Links
- links to