[cdi-dev] Inconsistency in the spec regarding remote EJBs
Jozef Hartinger
jharting at redhat.com
Mon Jul 20 09:31:38 EDT 2015
As Martin explained, it is not the case that "remote EJBs are not CDI
beans". Therefore, I am wondering why this behavior is a problem? AFAIK
all the CDI implementations pass this test and therefore there may (at
least in theory) be applications relying on this behavior.
Jozef
On 16.7.2015 15:25, Antoine Sabot-Durand wrote:
> 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/cdi/tck/tests/event/observer/resolve/enterprise/ResolveEnterpriseEventObserverTest.java
>
> 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/cdi/tck/tests/event/observer/resolve/enterprise/Spitz.java
>
> 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 at 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.
>
More information about the cdi-dev
mailing list