Hi,
I agree. Shouldn't we specify what happens in opposite case? Or maybe better to update
following in "10.4.2. Declaring an observer method" as well:
"If a non-static method of a session bean class has a parameter annotated @Observes,
and the method is not a business method of the EJB, the container automatically detects
the problem and treats it as a definition error."
Tom
----- Original Message -----
From: "Antoine Sabot-Durand" <antoine(a)sabot-durand.net>
To: "cdi-dev" <cdi-dev(a)lists.jboss.org>
Sent: Thursday, July 16, 2015 3:25:40 PM
Subject: [cdi-dev] Inconsistency in the spec regarding remote EJBs
Hi guys,
Bill Shanon, just pointed me to this test in TCK:
https://github.com/cdi-spec/cdi-tck/blob/1.2/impl/src/main/java/org/jboss...
It tests the following assertion:
"If the bean is a session bean, the observer method must be either a business method
of the EJB or a static method of the bean class.”
The EJB containing the observers for the test is:
https://github.com/cdi-spec/cdi-tck/blob/1.2/impl/src/main/java/org/jboss...
The EJB contains one business method coming from a local interface, one from a remote and
one static method. the 3 are observers methods
The test expects that the remote business observer method should be called.
Here we have an inconsistency IMO. By doing this we are violating rules the CDI spec
regarding the fact that remote EJBs are not CDI beans. And we are calling this remote
business method passing the event payload by reference and not by value which violates EJB
specification regarding remote EJB.
I suggest that we change the assertion to:
If the bean is a session bean, the observer method must be either a local business method
of the EJB or a static method of the bean class.
and the TCK accordingly. Any thought ?
Antoine
_______________________________________________
cdi-dev mailing list
cdi-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/cdi-dev
Note that for all code provided on this list, the provider licenses the code under the
Apache License, Version 2 (
http://www.apache.org/licenses/LICENSE-2.0.html). For all other
ideas provided on this list, the provider waives all patent and other intellectual
property rights inherent in such information.