You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Volodymyr Siedlecki (Jira)" <de...@myfaces.apache.org> on 2022/09/22 20:34:00 UTC
[jira] [Created] (MYFACES-4461) Faces 4.0: WELD-001408: Unsatisfied dependencies for Push & FlowBuilderParameter
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)