3

我正在尝试在 JavaFX 独立应用程序中执行 EJB 远程方法,但该应用程序无限期挂起。此远程 EJB 部署在 Glassfish 3.1.2.2 完整配置文件服务器上,该服务器在 Amazon AMI - EC2 实例中运行,并具有与之关联的弹性 IP。

这是在客户端应用程序上调用远程 EJB 的代码:

Properties configuracion = new Properties();
configuracion.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.enterprise.naming.SerialInitContextFactory");
configuracion.setProperty("org.omg.CORBA.ORBInitialHost","ec2-54-213-19-89.us-west-2.compute.amazonaws.com");
configuracion.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
contexto = new InitialContext(configuracion);
ejb = (T) contexto.lookup(nombre);

应用程序只是挂在查找方法上。没有抛出异常,没有发生超时,只是挂起,直到 java 进程停止。我不知道为什么会这样。我使用 Wireshark 来查看服务器和客户端之间是否有任何形式的通信;我看到两个数据包(请求和回复)向我表明客户端确实可以到达服务器等等。

该代码适用于本地 glassfish 安装和内部网络环境,所以我认为问题应该出在 EC2 环境上,但我不清楚是什么导致了这种无限期挂起。EC2 实例打开了端口 3700 以接收连接,所以我认为这不是问题。

任何帮助,将不胜感激。

4

0 回答 0