@Named is not specific to Java EE, it's from JSR 330 which actually
targets
Java SE (and there are many SE based containers that support it)
All @Named does is give a component an identity in the container
(think
of @Named like the hint in Plexus [1]) so it can be referenced by
that name
elsewhere. It also means you can inject lists or maps, where the key
is the
name, of all component implementations for a given type. This lets
plugins
and extensions contribute implementations of a core type and core can
then
see them and choose the right one for the job (such as "file" for a
file
specific implementation.)
Maven historically also supports overriding of components by plugins
and
extensions, where if you have a component with the same interface
(role)
and name (hint) then it can override the core component while that
plugin
is active. This lets plugins customize certain core behaviour in a
controlled manner. If we didn't allow overriding then a lot of plugins
would fail and Maven would be a lot less flexible.
[1] https://wiki.eclipse.org/Sisu/PlexusMigration
On Sat, 19 Oct 2019 at 11:58, Tibor Digana <[email protected]>
wrote:
> Are you talking about
> @Named( “not-default” )
> @Named( “coreAllowingOverride” ) or @Named( “coreExtensionPoint” )?
>
> In Java EE (and these annotations are from Java EE application
servers)
> mean the name of the bean which is unique - it is not a group of
beans.
> Please notice that beans container is Map<String, Bean> simply
speaking.
> and therefore here it would mean :
>
> "core-default" -> singleton instance (DefaultModelProcessor@1234567)
>
> so this means a conflict because you cannot create:
>
> "core-default" -> singleton instance (DefaultModelProcessor@1234567)
> "core-default" -> singleton instance (DefaultResolver@1234567)
> "core-default" -> singleton instance (AnotherBeanType@1234567)
>
> logical would be to have Expression API from Java EE and:
>
> "core-default-modelprocessor" -> singleton instance
> (DefaultModelProcessor@1234567)
> "core-default-resolver" -> singleton instance
(DefaultResolver@1234567)
> "core-default-xxx" -> singleton instance (AnotherBeanType@1234567)
>
>
> On Sat, Oct 19, 2019 at 12:03 PM Hervé BOUTEMY
<[email protected]>
> wrote:
>
> > +1
> > just added a comment on a typo
> >
> > for the name of the component, perhaps "core-default", but I won't
> > complain
> > about any choice: the javadoc is what was really needed
> >
> > notice: perhaps we have other component that should have the same
> > improvement
> > to permit overriding in the future
> >
> > Regards,
> >
> > Hervé
> >
> > Le vendredi 18 octobre 2019, 20:04:53 CEST Robert Scholte a écrit
:
> > > Hi,
> > >
> > > with the help from Stuart McCulloch we've been able to provide a
patch
> > for
> > > MNG-6765[1]
> > > Please review and test.
> > >
> > > thanks,
> > > Robert
> > >
> > > [1] https://issues.apache.org/jira/browse/MNG-6765
> > > [2]
> > >
> >
>
https://github.com/apache/maven/commit/24e6c0ec0a87b6682513287a23c36db6996b8
> > > 74c [3]
> > >
> >
>
https://github.com/apache/maven/commit/53a70bc8543124569ee787725b2004bc92a68
> > > 1b6
> > >
> > >
---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [email protected]
> > > For additional commands, e-mail: [email protected]
> >
> >
> >
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >
>