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)