Azure中Glassfish 3.1.2.2上的远程EJB

时间:2018-12-20 18:57:38

标签: java glassfish corba

我有两个非常简单的EAR文件。一只耳朵公开一个远程无状态ejb(称为server.ear),另一只耳朵则是一个Web模块和一个本地ejb,用于查找远程ejb bean(client.ear)。通过@PostContstruct。

它们都被部署到在所有环境中运行Java 7的Glassfish 3.1.2.2上的不同实例。

在我的本地计算机上的容器环境中,它运行良好。我有两个不同的实例(JVM),并且能够从client.ear成功调用远程ejb方法。没问题,一切都很好。

但是,当我将其部署到我们的Azure环境时,却遇到了这个异常:

  

原因:javax.naming.NamingException:在SerialContext [myEnv = {org.omg.CORBA.ORBInitialPort = 3700,java.naming.factory.initial = com.sun.com.tw enterprise.naming.impl.SerialInitContextFactory,org.omg.CORBA.ORBInitialHost = zuse1dldsap01.wkrainier.com,java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,java.naming。 factory.url.pkgs = com.sun.enterprise.naming} [根本异常是javax.naming.NamingException:无法获取SerialContext [myEnv = {org.omg.CORBA.ORBInitialPort = 3700,java.naming.factory。 initial = com.sun.enterprise.naming.impl.SerialInitContextFactory,org.omg.CORBA.ORBInitialHost = zuse1dldsap01.wkrainier.com,java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi。 JNDIStateFactoryImpl,java.naming.factory.url.pkgs = com.sun.enterprise.naming} [根本异常是org.omg.CORBA.NO_PERMISSION:---------- BEGIN服务器端堆栈跟踪- --------   org.omg.CORBA.NO_PERMISSION:vmcid:0x0次要代码:0已完成:否       在com.sun.enterprise.iiop.security.SecServerRequestInterceptor.handle_null_service_context(SecServerRequestInterceptor.java:421)       在com.sun.enterprise.iiop.security.SecServerRequestInterceptor.receive_request(SecServerRequestInterceptor.java:443)       在com.sun.corba.ee.impl.interceptors.InterceptorInvoker.invokeServerInterceptorIntermediatePoint(InterceptorInvoker.java:612)       在com.sun.corba.ee.impl.interceptors.PIHandlerImpl.invokeServerPIIntermediatePoint(PIHandlerImpl.java:612)       在com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:333)       在com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:196)       在com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1624)       在com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1486)       在com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:990)       位于com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:214)       在com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:742)       在com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:539)       在com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2324)       在com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl $ WorkerThread.performWork(ThreadPoolImpl.java:497)       在com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl $ WorkerThread.run(ThreadPoolImpl.java:540)

---------- END服务器端堆栈跟踪---------- vmcid:0x0次要代码:0已完成:否]]

我试图在没有任何实际帮助的情况下研究此问题。我想知道是否有人遇到过这个问题,我需要哪种黑魔法才能使它正常工作?任何帮助或建议,将不胜感激。

1 个答案:

答案 0 :(得分:0)

我遇到了这个问题:https://github.com/javaee/glassfish-corba/issues/13

从域xml中删除orb-1下的SSL内容并重新启动实例后,一切正常。现在,我只需要记住永远不要再次在GUI中打开ORB侦听器选项卡!