概要 |
ほとんどのアプリケーションや開発ツールで言えることですが、 始めるのに一番良いのは、通常、シンプルな「Hello World!」例です。 通常の Java アプリケーション「Hello World」は開始して、「Hello World」を出力してから終了します。 これは、サービスの動作やモニタリング(監視)ツールの実力を見せつけるほど、さほど興味深いものではありませんが、 Java Service Wrapper の場合、インストールして Windows サービス、あるいは UNIX デーモンとして動作を続けるというこの一例をご覧いただく必要があります。 このページでは、弊社から提供している「Hello World Server」サンプルアプリケーションをご覧いただき、 開発プロセスや仕組みをご理解いただくことで、日常にお役に立てることでしょう。 「Java アプリケーションを Windows サービスとして動かすには?」ページでは、 この一例をご覧いただきながら、Java Service Wrapper を活用して、 素早くこのサンプルアプリケーションをインストールして Windows サービスとして動かす設定の手順をご案内しています。 この「Hello World」サンプルアプリケーションは、デーモンスレッドを起動し、 ポート 9000 番でリッスン待機し、クライアントから telnet で接続するようにシンプルテキストベースのクライアント受信待ちにします。 その後、入力出口が見つかるまで入力を単純にエコーし、その時点でその特定の接続が閉じられます。 ある特定の接続が閉じられる時点で「exit」を受信するまで、 いかなる入力もシンプルに繰り返します。 これは典型的な「Hello World」のサンプルよりも少し複雑ですが、 基本となるサーバークライアントの設計モデルどおりに、 クライアントプログラムとインタラクティブ(対話型)に通信したり、 サーバーアプリケーションを簡単に動作させることができるようになります。 |
ソースコード例 |
||||
弊社のサンプルアプリケーションをキレイに保ち、キレイに動作させるために、 空のディレクトリーを用意して作業を開始してください。 そのディレクトリーを「%HELLO_HOME%」と呼びます。 そのディレクトリーの中に、 「lib\classes」ディレクトリーと 「src\java」ディレクトリーを作成してください。 以下のような構造になっているはずです。
次に、「src\java」ディレクトリー内に
「HelloWorldServer.
アプリケーションがスタートアップし、いかなるソースからでもリモート接続の受け入れ用にポート 9000 でリッスン待機を開始します。 それぞれ新しい接続が受け入れられると、それが閉じられるまで、その接続との全通信が行えるようにハンドラースレッドが作成されます。 そのハンドラースレッドが、任意のテキスト行を読み込み、クライアントにエコーバックします。 もしテキストの一行に「exit」の一語だけが含まれていた場合、 クライアント接続が閉じられます。 |
サンプル例を構築する |
||||
サンプル例を構築する方法は簡単な作業です。 Windows のコマンドプロンプト(UNIX ではシェル)を開き、「cd」コマンドを利用して、 上記で作成した「%HELLO_HOME% ディレクトリー」を開きます。 以下のコマンドを使って、このサンプル例をコンパイルします。
もし「javac コマンドが見つかりませんでした」というエラーが出た場合、 システムに Java SDK がインストールされていることを確認してください。 もし問題なければ、他に何もエラーが出ることなく、コンパイル作業が完了して、元のプロンプト状態に戻るはずです。 そのクラスファイルが作成されたことを確認してください。
無事に「HelloWorldServer サンプル例」の作成が完了しました。 |
サンプル例を実行する |
||||||||||||||
サンプル例を実行するには、「%HELLO_HOME%」ディレクトリー内から以下のコマンドを実行します。
全てが正常に動作しているならば、以下のように表示されます。
|