1

Weblogic 12.1.2 では、プロパティ RMI_TIMEOUT ("weblogic.jndi.responseReadTimeout") または RESPONSE_READ_TIMEOUT ("weblogic.jndi.responseReadTimeout") を使用して、RMI 接続のタイムアウトを設定できます。しかし、weblogic 12.1.1 では機能しません(存在しないため)。

API を参照してください: http://docs.oracle.com/middleware/1212/wls/WLAPI/weblogic/jndi/WLContext.html

奇妙なことに、RMI_TIMEOUT は 12.1.2 で廃止されましたが、WEBLOGIC 12.1.1 には存在しません。http://docs.oracle.com/cd/E13222_01/wls/docs100/javadocs/weblogic/jndi/ を参照してください。 WLContext.html

それにもかかわらず、私は両方 (および他のプロパティ) を試しましたが、weblogic 12.1.1 では機能しませんでした (12.1.2 でのみ機能しました)。

java 7 が必要なため、weblogic 12.1.2 に移行できません。また、今すぐ変更することもできません。

事前に感謝します。

観察: 時々応答しない外部サービスにアクセスするため、RMI タイムアウトを設定する必要があります。そのため、アプリケーションをこの他のサービスから独立させ、より堅牢にする必要があります。

4

1 に答える 1

1

解決策を見つけました。

weblogic パッチを適用する必要がありました (weblogic 12.1.1 から weblogic 12.1.1.0.5 へ)。

12.1.1.0.5 では、RMI_TIMEOUT プロパティにアクセスできました。12.1.1 raw バージョンに存在しない場合でも、12.1.2 で廃止されたのはそのためです。パッチ適用後に利用可能になります。

#編集済み

weblogic 独自の API を使用すると、rmi タイムアウトはどのバージョンでも機能します。

Environment env = new Environment();
env.setProviderUrl("");
env.setInitialContextFactory("weblogic.jndi.WLInitialContextFactory");
env.setRMIClientTimeout(30000L);

Context context = env.getInitialContext();

それが誰かを助けることを願っています。ティアゴ

于 2013-08-07T17:51:58.983 に答える