World Map
Java Service Wrapperは、御社Javaアプリケーション製品の安定した信頼性を高める最短最善の方法です。
  • Free Trial
  • Buy Now
wrapper.backend.type プロパティ

wrapper.backend.type プロパティ

対応バージョン :3.5.8
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/OSIBM z/Linux

WrapperプロセスとJVM内部で動作しているクラスとの間で、Wrapperは常に通信の維持が必要です。 従来からの方式で、その通信はループバックデバイス(localhost)越しにソケットを利用して行われます。 これは安全で信頼性があるのですが、一部のユーザーから 「セキュリティやその他の問題のために、何か代替え案が欲しい」とのリクエストをいただきました。

2つ知られたインスタンスで、ユーザーから 「Windows 2003上で動作中、外部プロセスによってバックエンドソケットが閉じられていた」という報告を受けています。 その閉じられた原因を決して発見することはできませんでしたが、 パイプを利用した代替え通信メソッドを実装するキッカケになりました。

これは、[wrapper.debug]プロパティで デバッグ出力が有効になっている状態で、「ソケットが閉じた」現象が起きたときのログです:

DEBUG  | wrapperp | ソケット送信失敗。 An existing connection was forcibly closed by the remote host. (0x2746)
DEBUG  | wrapperp | closing backend socket.
INFO   | jvm 1    | WrapperManager デバッグ: バックエンドソケットを閉じました:  java.net.SocketException: Connection reset
INFO   | jvm 1    | WrapperManager デバッグ: バックエンドハンドラから戻りました。
INFO   | jvm 1    | WrapperManager デバッグ: バックエンドソケットを閉じています。
INFO   | jvm 1    | WrapperManager エラー: バックエンドが予想外に閉じられました。再起動してWrapperと再同期します。

「ソケットが閉じた」現象が発生すると、Wrapperは他に問題を起こすことなくJVMを再起動しますが、 一部のアプリケーションでは、JVM再起動でJVMに問題を引き起こすことがあるため、再起動を避けるのが一番好ましいです。

この書き込み時で、このプロパティはまだ実験的です。 デフォルト値は「SOCKET」です。

  • デフォルトソケットバックエンドを利用するには、 「SOCKET」を設定してください。
  • 新しいパイプバックエンドを利用するには、 「PIPE」を設定してください。
設定例:
wrapper.backend.type=SOCKET

参照: ポート