Repository: tomee Updated Branches: refs/heads/master f0d07432d -> 17c277f54
removing some ORB references - not yet in client Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/17c277f5 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/17c277f5 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/17c277f5 Branch: refs/heads/master Commit: 17c277f54885ecfaacdd1d2cebc01679c87ad6a1 Parents: f0d0743 Author: rmannibucau <[email protected]> Authored: Sat Mar 18 19:03:37 2017 +0100 Committer: rmannibucau <[email protected]> Committed: Sat Mar 18 19:03:37 2017 +0100 ---------------------------------------------------------------------- .../openejb/server/ejbd/JndiRequestHandler.java | 16 +++++++++++++--- .../apache/tomee/catalina/TomcatJndiBuilder.java | 11 +++++++---- .../apache/tomee/catalina/TomcatWebAppBuilder.java | 10 +++++++--- 3 files changed, 27 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/17c277f5/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java ---------------------------------------------------------------------- diff --git a/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java b/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java index 01d6297..bfb7ccf 100644 --- a/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java +++ b/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java @@ -51,7 +51,6 @@ import org.apache.openejb.spi.ContainerSystem; import org.apache.openejb.util.LogCategory; import org.apache.openejb.util.Logger; import org.apache.openejb.util.proxy.ProxyManager; -import org.omg.CORBA.ORB; import javax.jms.ConnectionFactory; import javax.jms.Topic; @@ -82,6 +81,17 @@ import java.util.Set; import static org.apache.openejb.server.ejbd.ClientObjectFactory.convert; class JndiRequestHandler extends RequestHandler { + private static final Class<?> ORB_CLASS; + + static { + Class<?> orb; + try { + orb = JndiRequestHandler.class.getClassLoader().loadClass("org.omg.CORBA.ORB"); + } catch (final ClassNotFoundException e) { + orb = null; + } + ORB_CLASS = orb; + } private static final Logger logger = Logger.getInstance(LogCategory.OPENEJB_SERVER_REMOTE.createChild("jndi"), "org.apache.openejb.server.util.resources"); @@ -291,9 +301,9 @@ class JndiRequestHandler extends RequestHandler { res.setResponseCode(ResponseCodes.JNDI_RESOURCE); res.setResult(ConnectionFactory.class.getName()); return; - } else if (object instanceof ORB) { + } else if (ORB_CLASS != null && ORB_CLASS.isInstance(object)) { res.setResponseCode(ResponseCodes.JNDI_RESOURCE); - res.setResult(ORB.class.getName()); + res.setResult(ORB_CLASS.getName()); return; } else if (object instanceof ValidatorFactory) { res.setResponseCode(ResponseCodes.JNDI_RESOURCE); http://git-wip-us.apache.org/repos/asf/tomee/blob/17c277f5/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java ---------------------------------------------------------------------- diff --git a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java index b63b22b..30fb11d 100644 --- a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java +++ b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatJndiBuilder.java @@ -67,7 +67,6 @@ import org.apache.tomee.common.UserTransactionFactory; import org.apache.tomee.common.WsFactory; import org.apache.webbeans.config.WebBeansContext; import org.apache.webbeans.container.InjectableBeanManager; -import org.omg.CORBA.ORB; import javax.ejb.spi.HandleDelegate; import javax.naming.Binding; @@ -268,7 +267,11 @@ public class TomcatJndiBuilder { final TransactionSynchronizationRegistry synchronizationRegistry = SystemInstance.get().getComponent(TransactionSynchronizationRegistry.class); comp.rebind("TransactionSynchronizationRegistry", synchronizationRegistry); - comp.rebind("ORB", new SystemComponentReference(ORB.class)); + try { + comp.rebind("ORB", new SystemComponentReference(TomcatJndiBuilder.class.getClassLoader().loadClass("org.omg.CORBA.ORB"))); + } catch (final NoClassDefFoundError | ClassNotFoundException ncdfe) { + // no-op + } comp.rebind("HandleDelegate", new SystemComponentReference(HandleDelegate.class)); if (webContext != null && webContext.getWebbeansContext() != null) { @@ -697,9 +700,9 @@ public class TomcatJndiBuilder { } else if (TransactionSynchronizationRegistry.class.getName().equals(ref.resourceEnvRefType)) { resourceEnv.setProperty(Constants.FACTORY, SystemComponentFactory.class.getName()); resourceEnv.setProperty(NamingUtil.COMPONENT_TYPE, TransactionSynchronizationRegistry.class.getName()); - } else if (ORB.class.getName().equals(ref.resourceEnvRefType)) { + } else if ("org.omg.CORBA.ORB".equals(ref.resourceEnvRefType)) { resourceEnv.setProperty(Constants.FACTORY, SystemComponentFactory.class.getName()); - resourceEnv.setProperty(NamingUtil.COMPONENT_TYPE, ORB.class.getName()); + resourceEnv.setProperty(NamingUtil.COMPONENT_TYPE, ref.resourceEnvRefType); } else if (HandleDelegate.class.getName().equals(ref.resourceEnvRefType)) { resourceEnv.setProperty(Constants.FACTORY, SystemComponentFactory.class.getName()); resourceEnv.setProperty(NamingUtil.COMPONENT_TYPE, HandleDelegate.class.getName()); http://git-wip-us.apache.org/repos/asf/tomee/blob/17c277f5/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java ---------------------------------------------------------------------- diff --git a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java index e834e83..e630528 100644 --- a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java +++ b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java @@ -135,7 +135,6 @@ import org.apache.tomee.common.UserTransactionFactory; import org.apache.tomee.loader.TomcatHelper; import org.apache.webbeans.config.WebBeansContext; import org.apache.webbeans.spi.ContextsService; -import org.omg.CORBA.ORB; import javax.ejb.spi.HandleDelegate; import javax.naming.Context; @@ -1724,8 +1723,13 @@ public class TomcatWebAppBuilder implements WebAppBuilder, ContextListener, Pare } } - if (SystemInstance.get().getComponent(ORB.class) != null) { - safeBind(comp, "ORB", new SystemComponentReference(ORB.class)); + try { + final Class<?> orb = TomcatWebAppBuilder.class.getClassLoader().loadClass("org.omg.CORBA.ORB"); + if (SystemInstance.get().getComponent(orb) != null) { + safeBind(comp, "ORB", new SystemComponentReference(orb)); + } + } catch (final NoClassDefFoundError | ClassNotFoundException cnfe) { + // no-op } if (SystemInstance.get().getComponent(HandleDelegate.class) != null) { safeBind(comp, "HandleDelegate", new SystemComponentReference(HandleDelegate.class));
