geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Forrest Xia <>
Subject Re: About EJBHome.getEJBMetaData()
Date Wed, 04 May 2011 16:53:17 GMT

Information about system value classes in EJB specification:

15.5.5System Value Classes
System value classes are serializable value classes implementing the
javax.ejb.Handle, javax.ejb.HomeHandle, javax.ejb.EJBMetaData,
java.util.Enumeration,java.util.Collection, and java.util.Iterator
interfaces. These value classes are provided by the EJB container vendor.
They must be provided in the form of a JAR file by the container hosting the
referenced bean. For interoperability scenarios, if a referencing component
would use such system value classes at runtime, the Deployer must ensure
that these system value classes provided by the container hosting the
referenced bean are available to the referencing component. This may be
done, for example, by including these system value classes in the classpath
of the referencing container, or by deploying the system value classes with
the referencing component’s application by providing them to the deployment

Implementations of these system value classes must be portable (they must
use only J2SE and Java EE APIs) so that they can be instantiated in another
vendor’s container. If the system value class implementation needs to load
application-specific classes (such as remote home or remote interfaces) at
runtime, it must use the thread context class loader. The referencing
container must make application-specific classes available to the system
value class instance at runtime through the thread context class loader.

According to the description, as long as we add geronimo-corba jar to RI's
classpath, the RI should be able to pick up it and unmarshal
CORBAEJBMetaData, but now RI seems not doing that. The exception stack trace
shows RI is trying WebAppClassLoader to load the class, while the
classloader has no that class.

So do we need to recompile the test app to include geronimo-corba to its


On Wed, May 4, 2011 at 11:16 PM, Forrest Xia <> wrote:

> On Wed, May 4, 2011 at 10:00 PM, Forrest Xia <> wrote:
>> Thank you Shawn for this information.
>> Actually, I want to understand how EJBMetaData's implementation class
>> "CORBAEJBMetaData" is unmarshalled in glassfish? Because I see it's
>> marshalled in the GIOP stream sent to glassfish. but, glassfish's classpath
>> does not have geronimo libs, seems the unmarshalling is impossible?
> Just Found geronimo-corba module were added into RI's boot classpath
> before, but not for now. So I add that for current, but it still report
> ClassNotFoundException. Figuring out why...
> Forrest

View raw message