Hi
There's a bunch of small discrepancies like that between EJB and CDI. e.g GF-16186 I reported one year ago which ended up on WELD-921. And we also had isues with covariant methods on @Local interfaces in the past.

With CDI gradually percolating through all EE, one day or another - from EE7 I hope - EJB and CDI will have to behave the same way.

In the context of this WELD-1133 it would be preferable to align EJB on CDI, unless of course some important usecase gets harmed (but I don't see which). Else the spec clash will remain and in a few years users will keep wonrdering what we were thinking.

fm.


On Tue, Jun 5, 2012 at 5:50 PM, Martin Kouba <mkouba@redhat.com> wrote:
Hi,

recently we had an issue with regard to Session Bean business interface inheritance when running CDI TCK 1.0.4.SP3 on GlassFish - see also WELD-1133 [1]. The following discussion revealed possible specification conflict (EJB 3.1 vs CDI 1.0). Pete Muir asked me to write some brief summary. So here it is :-)

The problem: it seems that session bean business interface inheritance is not allowed in EJB 3.1
(4.9.2.1 Session Bean Superclasses)

Let's assume this code:

@Local
interface Bar {}

@Local
interface Foo extends Bar {
}

@Stateless
class FooBean implements Foo {
}

According to the spec (EJB 3.1) the set of exposed client views of FooBean should only be Foo. Not Foo and Bar.

However the CDI spec defines bean types for a session bean in a following way: "The unrestricted set of bean types for a session bean contains all local interfaces of the bean and their superinterfaces" (3.2.2. Bean types of a session bean).

Note that some EJB implementations DO support this kind of inheritance out of the box (e.g. JBoss AS 7 EJB module).

Martin

[1]
https://issues.jboss.org/browse/WELD-1133

--
Martin Kouba
JBoss Quality Assurance Engineer
E-mail: mkouba@redhat.com
Web: www.cz.redhat.com
Red Hat Czech s.r.o., Purkyňova 99/71, 612 45, Brno, Czech Republic
_______________________________________________
cdi-dev mailing list
cdi-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/cdi-dev



--
http://www.suntriprecords.com