Annoyances commented on by Steve Schmitt (Apr 03, 2006).

Comment:

There appears to be an issue with classloading that is not adequately addressed on the Validation page.  I have a base class

public abstract class SessionController implements SessionBean

and all my stateless session EJBs extend this class.  For example,

public class LookUpControllerEJB extends SessionController 

SessionController is in a jar in my classpath, and my EJB is in a separate ejb.jar.  When I attempt to validate the EJB, I get:

     [java] java.lang.NoClassDefFoundError: com/system/controller/SessionController
    
     [java]  ERROR ... Cannot validate jar

     [java]     com/system/controller/SessionController

     [java]  FAIL ... LookUpControllerEJB: Misslocated class

     [java]     The class com.business.controller.LookUpControllerEJB was found in a parent classloader and was loaded from there rather than this jar.  However, a dependent class com/system/controller/SessionController was not found in the parent classloader.

 This is message is incorrect.  The parent classloader loads SessionController, and the child (EJB) classloader loads LookUpControllerEJB.  OpenEJB is confused by the class hierarchy.  

Reply via email to