FYI. 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 tool. 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 classpath? Forrest On Wed, May 4, 2011 at 11:16 PM, Forrest Xia <[email protected]> wrote: > > > On Wed, May 4, 2011 at 10:00 PM, Forrest Xia <[email protected]> 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 > >
