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

Matt Sicker resolved LOG4J2-2853.
---------------------------------
    Fix Version/s: 3.0.0
       Resolution: Fixed

Merged in master.

> Add plugin/bean qualifiers to unify instance selection for dependency 
> injection
> -------------------------------------------------------------------------------
>
>                 Key: LOG4J2-2853
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2853
>             Project: Log4j 2
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Matt Sicker
>            Assignee: Matt Sicker
>            Priority: Major
>             Fix For: 3.0.0
>
>
> In the 2.x plugin API, we have numerous ways of specifying metadata to a 
> variable or performing manual configuration tree traversal in order to 
> resolve the value of that variable from the user configuration. These include 
> most of the {{@Plugin}} annotations as well as some system properties.
> In the 3.0 API, we should unify this into a "qualifier" concept. A 
> plugin/bean can contain one or more qualifiers which are specified by 
> annotations and matched at runtime to the injection target qualifiers. 
> Qualifiers are inspired by the [corresponding concept in 
> javax.inject|https://docs.oracle.com/javaee/6/api/javax/inject/Inject.html], 
> though they shouldn't be limited to only one qualifier on an injection target 
> or plugin/bean. Like in CDI, multiple qualifiers should be allowed to be 
> specified.
> Within a scope (LOG4J2-2852), plugins/beans will have at most one instance 
> per unique set of qualifiers. Qualifiers will typically be placed on plugin 
> classes or on injection targets, while configuration trees will emit 
> specially qualified plugins/beans for injection into Core plugins which take 
> injected parameters. Existing plugin annotations should be updated to work as 
> corresponding qualifiers without requiring code updates on the plugin side 
> (even though this will allow us to simplify and clean up various parts of our 
> own code base over time).



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to