You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Thomas Andraschko (Jira)" <de...@myfaces.apache.org> on 2022/09/23 16:35:00 UTC

[jira] [Resolved] (MYFACES-4461) Faces 4.0: WELD-001408: Unsatisfied dependencies for Push & FlowBuilderParameter

     [ https://issues.apache.org/jira/browse/MYFACES-4461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Andraschko resolved MYFACES-4461.
----------------------------------------
    Resolution: Fixed

> 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
>            Priority: Major
>             Fix For: 4.0.0-RC2
>
>
> 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 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 previously worked does not.
> Just for reference: [PushContextFactoryBean.java|https://github.com/apache/myfaces/commit/6f5599a219ae1f19d6a6ba7a8a9dc566b0bff1a4#diff-179e24f02abd1b133bbc091f04ebc51fc2a9c079b039700b6e3a8213e1fbd264] was previously used for the cdi producer 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)