JBoss EAP 6.4を使用してEJB earファイルをデプロイしています。すべてが正常に動作しますが、いくつかの時間のためのSwingアプリケーションのアイドル(1時間程度)、その後はスイングクライアントからのすべての機能にアクセスしようとした場合、クライアントは以下の例外を除いてクラッシュしてしまった:アイドル時間後にネーミングコンテキストが停止するJBoss EAP 6.4.0
それはとJNDIを解決することができませんjavax.naming.NamingException: Unable to invoke lookup, status=WAITING
at org.jboss.naming.remote.protocol.v1.Protocol$1.execute(Protocol.java:98)
at org.jboss.naming.remote.protocol.v1.RemoteNamingStoreV1.lookup(RemoteNamingStoreV1.java:95)
at org.jboss.naming.remote.client.HaRemoteNamingStore$1.operation(HaRemoteNamingStore.java:275)
at org.jboss.naming.remote.client.HaRemoteNamingStore.namingOperation(HaRemoteNamingStore.java:132)
at org.jboss.naming.remote.client.HaRemoteNamingStore.lookup(HaRemoteNamingStore.java:271)
at org.jboss.naming.remote.client.RemoteContext.lookupInternal(RemoteContext.java:104)
at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:93)
at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:146)
at javax.naming.InitialContext.lookup(Unknown Source)
クライアントサイドでキャッシュされたコンテキスト。プロパティの下に使用して、クライアントで作成し
コンテキスト:
table.put("remote.connection.one.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT", "false");
table.put("remote.connection.one.connect.options.org.xnio.Options.SASL_DISALLOWED_MECHANISMS", "JBOSS-LOCAL-USER");
table.put("remote.clusters", "ejb");
table.put("remote.cluster.ejb.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT", "false");
table.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
table.put("jboss.naming.client.ejb.context", true);
table.put("jboss.naming.client.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT", "false");
table.put(Context.SECURITY_PRINCIPAL, System.getProperty(Context.SECURITY_PRINCIPAL));
table.put(Context.SECURITY_CREDENTIALS, System.getProperty(Context.SECURITY_CREDENTIALS));
table.put("jboss.naming.client.remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED","true");
table.put("jboss.naming.client.connect.options.org.xnio.Options.SSL_STARTTLS","true");
table.put("jboss.naming.client.connect.timeout", "3000000");
table.put(Context.PROVIDER_URL,PROVIDER_URL);
context = new javax.naming.InitialContext(table);
アイドル時間後にコンテキストがルックアップすることができない理由を私は理解して助けてください?
終了するたびにコンテキストを閉じる必要があるたびにコンテキストを作成してみてください。プロキシを再利用しないでください。 –
「プロキシを再利用しないでください」の詳細を教えてください。パフォーマンスにも影響しませんか? – Gaurav
見てくださいhttp://stackoverflow.com/questions/3092379/caching-remote-ejb-3-0-reference –