または
Try NowBuy Now
Google

Locations of visitors to this page

インテグレーション方法の概要
インテグレーション方法の概要

Java Service Wrapperインテグレーション方法

現在、アプリケーションにJava Service Wrapperをインテグレーション(統合化)する手法には、4つの方法があります。 そのうちの3つでは、追加のコーディングを必要とせずに、すぐに利用することができます。

まず初めのステップは、4つの方法の中から、御社のアプリケーションに一番適切しているものを選択することです。 それぞれの4つの方法について簡単に概要を説明した後、それぞれ個別にアプリケーション統合方法の詳細へと進んでいきます。

方法1

まず方法1は、アプリケーションの起動に[WrapperSimpleApp]ヘルパークラスを使う手法です。 これは遥かに簡単なインテグレーション方法で、利用が可能であれば、一番お薦めの手法です。

この方法を利用するにおいて理解しておくべき点がいくつかあります。(注意:Javaバージョン) WrapperがJVM(Javaバーチャルマシン)をシャットダウンする際に、直接アプリケーションへシャットダウンを要請するわけではなく、 JVM内部から[System.exit()]メソッドを呼び出してJVMのシャットダウン・シーケンスに入ります。 もし、アプリケーションがシャットダウン・フックに登録されている場合、 通常どおりに実行処理され、アプリケーションがキレイにシャットダウンできる時間を確保します。 その一方、もしシャットダウン・フックに登録されていない場合、 コンソール(コマンド・ウィンドウ)から[CTRL]+[C]によるアプリケーション任意停止と同じように動作し、 アプリケーションを直ちに終了させます。 シャットダウン・フックの有無に関わらず、 いずれのケースでも、Wrapper導入前の環境状態と同じように動作します。

JBossを使う具体例をあげて、さらに詳しい概要や使い方について、 こちら (Windows, Linux / Unix) を参照ください。

方法2

方法2は、[WrapperStartStopApp]ヘルパークラスを使う手法です。 この手法は、「1つのクラス(例えば[スタート]クラス)を使用して開始し、別のクラス(例えば[ストップ]クラス)で停止する」 というTomcatの ようなアプリケーションを利用している環境下でのインテグレーションに適している手法です。

通例、この種のアプリケーションは、スタートアップ時にサーバー ソケットを開け、 シャットダウンのキッカケになる接続待ち状態になります。 [シャットダウン]あるいは[ストップ]クラスが起動し、アプリケーションに接続することによって、 シャットダウンのキッカケを引き起こします。

この種のアプリケーションを持つ環境下では、 アプリケーションを起動させる時には、最初のメソッド[スタート]クラスを呼び出したり、 アプリケーションのシャットダウン時には、[ストップ]クラスのメイン・メソッドを呼び出したり、 Wrapperは「クラスの呼び出し」で動作します。

Tomcatを使う具体例をあげて、さらに詳しい概要や使い方について、 こちら (WindowsLinux / Unix)を参照ください。

方法3

他の方法ではコーディングを必要としませんが、この方法3では、唯一、手順の中で少しコーディングを加える必要があるもので、 最も柔軟に、 かつWrapperの特徴を最大限に活用したものと言えるでしょう。 この方法3は、WrapperListenerインターフェイスを実装するクラス作成にまで踏み込みます。 ユーザークラスのインスタンスが作成され、WrapperManagerに登録されます。

この方法3は、前述の2つの方法 (方法1:[WrapperSimpleApp]方法2:[WrapperStartStopApp]) とは 共には利用できないという難点がありますが、複雑さにも十分に耐えうるのも最大の特徴です。 この方法3は、スタートアップやシャットダウンのプロセス同様に、ユーザー・コードで要求を受けたり、 直接的にシステム コントロール イベントへ 応答を返したり、ユーザー・コードの実行を許可する唯一の方法です。

もし、コーディングして機能を追加する必要がない場合には、方法1(WrapperSimpleApp)シャットダウン・フックを実装すること、 あるいは、[シャットダウン]クラスを実装することは、必要であれば追加すればいい程度のオプションとして考えれば良いでしょう。 [シャットダウン]クラスのメイン・メソッドは、アプリケーションのシャットダウン・メソッドを呼び出すのと同様に、シンプルです。

なお、ほとんどのケースでは、方法1(WrapperSimpleApp)方法2(WrapperStartStopApp)のヘルパークラスが、 適切なタイミングで、アプリケーションのスタートアップやシャットダウンの面倒を見てくれるので、 方法3(WrapperListener)でのコーディングで機能を追加する必要性は、ほとんどないと思われます。

さらに詳しい概要や使い方について、 こちら (独立開発型プラットフォーム)を参照ください。

方法4

方法4は、アプリケーションの起動に[WrapperJarApp]ヘルパークラスを使う手法です。 これもまたシンプルなWrapper統合方法で、アプリケーションの設定が既に完了していて、実行可能な「jar」ファイルの準備が整っている場合にご利用いただけます。

この方法を利用するにおいて理解しておくべき点がいくつかあります。(注意:Javaバージョン) WrapperがJVM(Javaバーチャルマシン)をシャットダウンする際に、直接アプリケーションへシャットダウンを要請するわけではなく、 JVM内部から[System.exit()]メソッドを呼び出してJVMのシャットダウン・シーケンスに入ります。 もし、アプリケーションがシャットダウン・フックに登録されている場合、 通常どおりに実行処理され、アプリケーションがキレイにシャットダウンできる時間を確保します。 その一方、もしシャットダウン・フックに登録されていない場合、 コンソール(コマンド・ウィンドウ)から[CTRL]+[C]によるアプリケーション任意停止と同じように動作し、 アプリケーションを直ちに終了させます。 シャットダウン・フックの有無に関わらず、 いずれのケースでも、Wrapper導入前の環境状態と同じように動作します。

Hudsonを使う具体例をあげて、さらに詳しい概要や使い方について、 こちら (WindowsLinux / Unix)を参照ください。

注意

Java 1.3.0 バージョン以上をご利用の方へ:

シャットダウン・フックは、 Java 1.3.0 リリースで実装されるようになりました。シャットダウン・フックを活用すれば、 方法1(WrapperSimpleApp)および方法4[WrapperJarApp]の手法で、 アプリケーションをキレイにシャットダウンすることができます。

Java 1.2.x バージョンをご利用の方へ:

Java 1.2.x バージョン上で、Wrapperの利用は可能ですが、シャットダウン・フック非対応のため、一部の機能が無効になります。 方法1(WrapperSimpleApp) および 方法4(WrapperJarApp) の処理では、通常どおりJVMシャットダウン前に実行処理するアプリケーション独自のシャットダウン手順に依存するため、 アプリケーションはキレイにシャットダウンされません。 Java 1.2.x バージョン上で、アプリケーションを確実にキレイにシャットダウンさせるためには、 シャットダウン時にコードの実行を直接的に許可している、 方法2(WrapperStartStopApp) あるいは 方法3(WrapperListener) のいずれかの方法をご利用ください。





User Comments

If you notice something that is incorrect, missing, or simply feel that some part of this page could be explained better, feel free to log in and add a comment. You will need to register before you can log on.

Email:
Password:
Java Service Wrapper Version: 3.4.0