[cdi-dev] Inconsistency in the spec regarding remote EJBs

Romain Manni-Bucau rmannibucau at gmail.com
Thu Jul 16 13:22:03 EDT 2015


For me CDI should only see EJB API and not the impl which is the
responsability of the EJB container *only*.

2015-07-16 16:49 GMT+02:00 Antoine Sabot-Durand <antoine at sabot-durand.net>:

> Yes Tomas I agree, I think it should be detected automatically by the
> container so it's good to update 10.4.2 accordingly. The assertion you
> mentioned match this test in the TCK:
>
>
> https://github.com/cdi-spec/cdi-tck/blob/1.2/impl/src/main/java/org/jboss/cdi/tck/tests/event/broken/observer/notBusinessMethod/EJBObserverMethodNotBusinessMethodTest.java
>
> It's more straight forward to work there IMO.
>
> Romain, I don't understand when you write "That said not being able to
> fix it in EJB spec". It's not an EJB spec issue but a CDI issue.
>
> Antoine
>
> Le jeu. 16 juil. 2015 à 16:05, Romain Manni-Bucau <rmannibucau at gmail.com>
> a écrit :
>
>> hmm, this always has been an issue for me since CDI shouldnt know about
>> these methods at all so how could it specify anything? That said not being
>> able to fix it in EJB spec I tend to agree with Tomas.
>>
>>
>> Romain Manni-Bucau
>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> <http://rmannibucau.wordpress.com> | Github
>> <https://github.com/rmannibucau> | LinkedIn
>> <https://www.linkedin.com/in/rmannibucau> | Tomitriber
>> <http://www.tomitribe.com>
>>
>> 2015-07-16 15:56 GMT+02:00 Tomas Remes <tremes at redhat.com>:
>>
>>>
>>> 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 at sabot-durand.net>
>>> To: "cdi-dev" <cdi-dev at 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/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.
>>>
>>>
>>>
>>> _______________________________________________
>>> 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.
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/cdi-dev/attachments/20150716/588ebaa5/attachment.html 


More information about the cdi-dev mailing list