3

JavaFX スタンドアロン アプリケーションで EJB リモート メソッドを実行しようとしていますが、アプリケーションが無期限にハングします。このリモート EJB は、Elastic IP が関連付けられた Amazon AMI - EC2 インスタンスで実行されている Glassfish 3.1.2.2 フル プロファイル サーバーにデプロイされます。

これは、クライアント アプリケーションでリモート 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 を使用して、サーバーとクライアントの間に何らかの通信があるかどうかを確認しました。クライアントが実際にサーバーに到達できることを示す 2 つのパケット (要求と応答) を見ました。

コードはローカルのグラスフィッシュのインストールと内部ネットワーク環境で動作するため、問題は EC2 環境にあるはずですが、この無期限のハングの原因が明確にわかりません。EC2 インスタンスでは、接続を受信するためにポート 3700 が開いているため、これは問題ではないと思います。

どんな助けでも大歓迎です。

4

0 に答える 0