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(a)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...
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(a)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(a)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(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.
>>
>>
>>
>> _______________________________________________
>> 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.
>
>
>