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

Romain Manni-Bucau rmannibucau at gmail.com
Mon Jul 20 09:42:24 EDT 2015


This mainly implies failure cases so I guess as much apps rely on it that
apps relying on impl and vendor specific behavior.

That said not sure we need to spend time on it being said EJB are not being
updated much and are slowly replaced by other spec.

Side note: this last point makes me think for future integration CDI should
limit itself to the "contract" with other spec fully ignoring impl in its
own wording. Maybe it is the lesson we need to learn.
 Le 20 juil. 2015 15:31, "Jozef Hartinger" <jharting at redhat.com> a écrit :

> 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.
> >
> _______________________________________________
> 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/20150720/28fee011/attachment.html 


More information about the cdi-dev mailing list