[jboss-cvs] JBossAS SVN: r102118 - branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/iiop.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Mar 9 04:58:56 EST 2010


Author: wolfc
Date: 2010-03-09 04:58:55 -0500 (Tue, 09 Mar 2010)
New Revision: 102118

Modified:
   branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/iiop/IORFactory.java
Log:
JBPAPP-933: fixed regression on iiop

Modified: branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/iiop/IORFactory.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/iiop/IORFactory.java	2010-03-09 09:34:17 UTC (rev 102117)
+++ branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/iiop/IORFactory.java	2010-03-09 09:58:55 UTC (rev 102118)
@@ -21,23 +21,10 @@
  */
 package org.jboss.ejb3.iiop;
 
-import java.lang.annotation.Annotation;
-import java.net.URL;
-
-import javax.ejb.EJBHome;
-import javax.ejb.EJBObject;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.rmi.PortableRemoteObject;
-
 import org.jboss.annotation.ejb.IIOP;
 import org.jboss.annotation.ejb.RemoteBinding;
 import org.jboss.aop.Advisor;
 import org.jboss.ejb3.Container;
-import org.jboss.ejb3.EJB3Util;
 import org.jboss.ejb3.InitialContextFactory;
 import org.jboss.ejb3.NonSerializableFactory;
 import org.jboss.ejb3.ProxyFactoryHelper;
@@ -66,21 +53,27 @@
 import org.omg.CORBA.ORB;
 import org.omg.CORBA.Policy;
 import org.omg.CORBA.Repository;
-import org.omg.CORBA.UserException;
 import org.omg.CosNaming.NameComponent;
 import org.omg.CosNaming.NamingContext;
 import org.omg.CosNaming.NamingContextExt;
 import org.omg.CosNaming.NamingContextExtHelper;
 import org.omg.CosNaming.NamingContextHelper;
-import org.omg.CosNaming.NamingContextPackage.AlreadyBound;
-import org.omg.CosNaming.NamingContextPackage.CannotProceed;
-import org.omg.CosNaming.NamingContextPackage.InvalidName;
 import org.omg.CosNaming.NamingContextPackage.NotFound;
 import org.omg.PortableServer.Current;
 import org.omg.PortableServer.CurrentHelper;
 import org.omg.PortableServer.POA;
 import org.omg.PortableServer.Servant;
 
+import javax.ejb.EJBHome;
+import javax.ejb.EJBObject;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.rmi.PortableRemoteObject;
+import java.lang.annotation.Annotation;
+import java.net.URL;
+
 /**
  * Comment
  *
@@ -192,7 +185,17 @@
    {
       return ProxyFactoryHelper.getDefaultRemoteJndiName(container);
    }
-   
+
+   private RepositoryClassLoader getRepositoryClassLoader()
+   {
+      ClassLoader cl = ((SessionContainer) container).getClassloader();
+      while(!(cl instanceof RepositoryClassLoader))
+         cl = cl.getParent();
+      if(cl == null)
+         throw new IllegalStateException("Failed to find a RepositoryClassLoader on " + container + " (JBPAPP-933)");
+      return (RepositoryClassLoader) cl;
+   }
+
    private String getServantName()
    {
       // TODO: is "Servant/" a good prefix for servant name
@@ -319,7 +322,8 @@
       // Hack in a WebCL (from org.jboss.ejb.EjbModule.initializeContainer)
       // TODO:  seting up a WebClassLoader needs to be done somewhere where
       ObjectName on = container.getObjectName();
-      this.wcl = new EJB3IIOPWebClassLoader(on, (RepositoryClassLoader) ((SessionContainer) container).getClassloader(), getJndiName());
+      RepositoryClassLoader cl = getRepositoryClassLoader();
+      this.wcl = new EJB3IIOPWebClassLoader(on, cl, getJndiName());
       WebServiceMBean webServer = getWebServer();
       URL[] codebaseURLs = {webServer.addClassLoader(wcl)};
       wcl.setWebURLs(codebaseURLs);




More information about the jboss-cvs-commits mailing list