イベントサービスを運用するには、イベントサービスの機能であるイベントチャネルの生成・起動を行い、アプリケーション上でサプライヤおよびコンシューマのオブジェクトを生成します。そのアプリケーションプログラムは、イベントチャネルのオブジェクトリファレンスを獲得し、そのメソッドを使用してイベント通信を行います。
イベントチャネルの運用方法は「静的生成運用」および「動的生成運用」の2種類があります。以下にその運用について説明します。
なお、1つのシステムで「静的生成運用」および「動的生成運用」を同時に運用することもできます。
静的生成運用とは、イベントチャネルを事前に作成する形態です。イベントチャネルの生成から削除までを、コマンドを使用して行います。
イベント通信を行うアプリケーションプログラムでイベントチャネルのメソッドを使用するには、ネーミングサービスからオブジェクトリファレンスを獲得する必要があります。
なお、静的生成運用では、イベントチャネルを生成する場合にノーティフィケーションサービスの不揮発チャネル運用を指定できます。不揮発化機能の詳細については、「1.12 メッセージ保証機能」を参照してください。
注意
静的生成するイベントチャネルは、グループ化を行う必要があります。
グループ化の概念について以下の図に示します。
1つのグループの中に、1つ以上のイベントチャネルを定義します。1つのグループが1つのプロセスとして動作します。そして、グループ内の複数のイベントチャネルがスレッドとして動作します。
グループ化は、システムの中で多数のイベントチャネルを動作させる場合に、システムのプロセス数の上限によりイベントチャネルが起動できなくなるのを避けるために行います。グループのプロセスの構成については、「1.7 イベントチャネルのプロセスとスレッドの構成」を参照してください。
イベントチャネルの名前は、グループ内で一意名を設定します。なお、グループ定義を階層化することはできません。
静的生成したイベントチャネルは、ネーミングサービスに以下の形式で登録します。アプリケーションプログラムは、ネーミングサービスからイベントチャネルのオブジェクトリファレンスを獲得し、イベントサービスを運用します。
グループ名::チャネル名
イベントサービスでは、静的生成したイベントチャネルをグループ単位で管理しています。これらの情報は、イベントサービスをアンインストールしても削除されません。アンインストールする前に、esrmchnlコマンドにより削除する必要があります。
動的生成運用とは、イベントチャネルの生成から削除までを、アプリケーション上で行う運用方法です。
アプリケーションプログラムにおいてイベントチャネルを生成する場合は、イベントファクトリを使用します。イベントファクトリは、イベントチャネルを生成するオブジェクトで、このオブジェクトのcreateメソッドを呼び出すことによりイベントチャネルを生成します。イベントチャネルの生成時に獲得したオブジェクトリファレンスによりイベントチャネルのメソッドを使用できます。ファクトリのオブジェクトインタフェースおよび使用方法の詳細については、「4.3 イベントファクトリのアプリケーション開発」を参照してください。