[
https://issues.jboss.org/browse/CDI-741?page=com.atlassian.jira.plugin.sy...
]
Harald Wellmann commented on CDI-741:
-------------------------------------
Oh, it's not exactly a use case, but I was working on a CDI library, I copied a Java
package from a third-party library to my project, and then was surprised to see that the
beans from my own library were no longer being discovered.
It turned out that the package contained an {{Extension}} class, which I had copied,
without the {{META-INF/services}} registration.
Clarify: "archive which contains an extension"
----------------------------------------------
Key: CDI-741
URL:
https://issues.jboss.org/browse/CDI-741
Project: CDI Specification Issues
Issue Type: Clarification
Components: Portable Extensions
Affects Versions: 2.0 .Final
Reporter: Harald Wellmann
Priority: Major
According to Section 12.1,
{quote}An archive which contains an extension and no beans.xml file is not a bean
archive.
{quote}
According to Section 11.5,
{quote} An extension is a service provider of the service
javax.enterprise.inject.spi.Extension declared in META-INF/services
{quote}
Conclusion:
An archive containing a class implementing {{javax.enterprise.inject.spi.Extension}} but
not declaring this class in {{META-INF/services}} does not contain an extension.
So if this archive contains a class with a bean-defining annotation and no {{beans.xml}},
then it is a bean archive.
The TCK is missing a test for this scenario (archive with extension class but no service
registration), it only has a test for the more obvious case of an archive with extension
class *and* service registration.
If my interpretation is correct, then WildFly 15 has a bug, since it disqualifies any
archive containing an {{Extension}} class, regardless of the service registration.
Side note:
It would be helpful for readers looking for the exact definition of extensions to move
the sentence quoted above from Section 11.5 to the introductory paragraph of Section 11.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)