Dne 16.7.2015 v 15:25 Antoine Sabot-Durand napsal(a):
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.
Not exactly, the CDI spec only states that remote interfaces are not
included in the set of bean types. In this case, the set of bean types
includes LocalInterface and java.lang.Object. However, the set of
business methods includes observeLocal() and observeRemote() (see also
the EJB spec). And so the test follows the current wording of the spec.
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 ?
Yes, we should fix the spec wording first (create issue, exclude test,
fix tck, etc.).
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.
--
Martin Kouba
Software Engineer
Red Hat, Czech Republic