[jboss-jira] [JBoss JIRA] (WFLY-10029) bean-discovery-mode="annotated" is not working like described in the spec
Martin Kouba (JIRA)
issues at jboss.org
Thu Mar 15 08:11:00 EDT 2018
[ https://issues.jboss.org/browse/WFLY-10029?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13546397#comment-13546397 ]
Martin Kouba commented on WFLY-10029:
-------------------------------------
Well, this really depends on where the {{SomeClass}} comes from, i.e. in which bean archive it resides. If it's an implicit bean archive then it's defintely a bug. I did a quick test and it seems the problem occurs if {{SomeClass}} is located in an implicit bean archive with no {{beans.xml}}. In this case, WildFly creates a synthetic beans.xml with {{bean-discovery-mode=all}}.
> bean-discovery-mode="annotated" is not working like described in the spec
> -------------------------------------------------------------------------
>
> Key: WFLY-10029
> URL: https://issues.jboss.org/browse/WFLY-10029
> Project: WildFly
> Issue Type: Bug
> Components: CDI / Weld
> Affects Versions: 10.1.0.Final
> Reporter: Ralph Soika
> Assignee: Martin Kouba
> Priority: Minor
> Labels: beans.xml
>
> I think we have a problem in Wildfly 10 concerning scanning of CDI Beans. Take a look at the following example:
> {code:java}
> @Stateless
> @LocalBean
> public class SomeService {
> ...
> }
> public class SomeClass {
> @EJB
> SomeService someService;
> ....
> }
> {code}
> We have a stateless session ejb an a bean which is not annotated with a scope but is injecting the service EJB. If you use a beans.xml with the tag:
> {noformat}
> bean-discovery-mode="annotated"
> {noformat}
> this works in wildfly 10 - the _someService_ is injected into the _someClass_ which is treated as a CDI bean. But this is not a correct behavior as stated in the specification. It says, that in this case only beans with a scope annotation should be treated as CDI which is not the case for SomeClass. Normally, as a developer, you would not complain much about this. So this is only a minor issue.
> I recognized this after I tried to run my application on Glassfish/Payara4 which did no longer work until I changed the beans.xml tag to:
> {noformat}
> bean-discovery-mode="all"
> {noformat}
> Now it works in both application servers. I think in wildfly we are misinterpreting the attribute "bean-discovery-mode". I think this should be changed in the next versions for EE8. I don't know if this behavior is a known issue and maybe it is still under development.
> I know also that with such a change some projects (also my own ones) will break. So maybe a new configuration switch like "strict-cdi-scanning" is helpful. What do you think?
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list