Volodymyr Siedlecki created MYFACES-4461:
--------------------------------------------
Summary: Faces 4.0: WELD-001408: Unsatisfied dependencies for Push
& FlowBuilderParameter
Key: MYFACES-4461
URL: https://issues.apache.org/jira/browse/MYFACES-4461
Project: MyFaces Core
Issue Type: Bug
Affects Versions: 4.0.0-RC1
Reporter: Volodymyr Siedlecki
FacesArtifactProducer is only registered when
[@FacesConfig|https://jakarta.ee/specifications/faces/4.0/apidocs/jakarta/faces/annotation/facesconfig]
is present. This means @Push and @FlowBuilderParameter are used, Weld will
report the these errors:
{color:#d4d4d4}WELD-{color}{color:#569cd6}001408{color}{color:#d4d4d4}:
Unsatisfied dependencies for type FlowBuilder with qualifiers
@FlowBuilderParameter{color}
{color:#d4d4d4}WELD-{color}{color:#569cd6}001408{color}{color:#d4d4d4}:
Unsatisfied dependencies for type PushContext with qualifiers @Push{color}
This breaks many applications, as what was previously worked does not.
Just for reference:
[PushContextFactoryBean.java|https://github.com/apache/myfaces/commit/6f5599a219ae1f19d6a6ba7a8a9dc566b0bff1a4#diff-179e24f02abd1b133bbc091f04ebc51fc2a9c079b039700b6e3a8213e1fbd264]
was previously used for the cdi registration, but was removed. The
getPushContext method was moved to the FacesArtifactProducer
(JsfArtifactProducer).
[https://github.com/apache/myfaces/commit/6f5599a219ae1f19d6a6ba7a8a9dc566b0bff1a4#diff-1184a79edde14f5fcedfb0b2dde1f8e89cb5c259b1f7c3980036ebb4d5bf7d1dL37-L40]
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
--
This message was sent by Atlassian Jira
(v8.20.10#820010)