[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