quality@glassfish.java.net

Re: [Fwd: EAR working on v2.1 fails do deploy on v3-b66]

From: Hong Zhang <Hong.Zhang_at_Sun.COM>
Date: Fri, 09 Oct 2009 13:22:17 -0400

Hi, Paul

>I use maven to build the EAR but you're right, the bean is indirectly referenced in included WARs manifest.
>
>Just to see if I understood my issue, here is how is packaged my EAR:
>
>I use "skinny wars" with <class-loader delegate="true"/> in sun-web.xml.
>I packaged ejbs implementations and their interfaces in the same jar, at the ear's root.
>WARs manifests references theses ejb-jars.
>Boom, with 2 WARs I get the error message stating that there is 3 implementations for the same ejb interface.
>
>
>
Yes, this was what it was complaining about...

>What I don't understand is that as I use classloader delegation I thought that it would find the implementation only
>once. I am right or wrong here ? :)
>
>
>
This has nothing to do with the classloading. :-) This validation part
happens before loading the component into the container. Ideally, the
verifier should've had a test to catch this if the application is
packaged this way (packaging bean impl class in the referencing bundle).

- Hong

>
>
>Le vendredi 09 octobre 2009 16:36:50, Hong Zhang a écrit :
>
>
>>Mostly like it's a packaging issue. In v3, we had to make some changes
>>in this area to support the new ejb lite etc for EE6, so the behavior is
>>different (more strict check now).
>>
>>Can you check in the referencing module, that the Bean class is not
>>packaged directly and indirectly (through Manifest Class-Path)? If your
>>application is packaged by NetBeans, there is this open bug in NetBeans
>>right now:
>>
>>http://www.netbeans.org/issues/show_bug.cgi?id=173195
>>
>>
>
>
>