高度なカスタマイズ > Info*Engine 実装 > Info*Engine 機能の設定 > タスクキューの実装
  
タスクキューの実装
Info*Engine 環境にタスクキューを実装することにより、以下の機能を提供できます。
長時間稼動しているタスクを、キューの購読者として実行するためにメッセージキューにサブミットできます。購読者は必ずタスクを実行し、結果をレスポンスキューにサブミットします。ユーザーは、後でタスクの完了をチェックし、その結果データを読み込むことができます。
ユーザーは、タスクを実行するためにメッセージキューにサブミットし、レスポンスを待つことができます。レスポンスは、受信されるとすぐにユーザーに返されます。レスポンスを受信する前にユーザーが接続を切断した場合、タスクの結果は後での読み込みのためにキューに追加されます。
メッセージキューのネットワーク内の任意のキューにタスクをサブミットして、Info*Engine サーバー間を相互接続できます。
現在の Info*Engine グループをメッセージキューにサブミットできます。これで、そのグループは Info*Engine ユーザーの複数のインスタンスで使用可能になります。
以下の Info*Engine Webject は、キューとメッセージタスクへいくつかの機能を提供します。
Browse-Queue
Delete-Results
Query-Results
Queue-Task
Subscribe-Queue
Unsubscribe-Queue
Webject の例については、Info*Engine User's Guide を参照してください。
Info*Engine 環境にタスクキューを実装するには、以下のタスクを完了します。
WebSphere MQ などの Message-Oriented Middleware (MOM) ソフトウェア製品をインストールします。
MOM に、必要な実行と結果のキューを設定し、キューと併用されるキュー接続ファクトリも設定します。タスクキューに使用される接続ファクトリは、ポイントツーポイントメッセージングに使用される接続ファクトリと同じです。
MOM 提供のユーティリティと管理 UI を使用して、MOM の JNDI リポジトリに必要な管理オブジェクト (接続ファクトリ、キュー、トピック) を作成します。お使いの MOM によって、これらのオブジェクトは前述の手順のオブジェクトとは別のものである場合と、そうでない場合があります。
Info*Engine プロパティ管理ユーティリティを使用して、使用する MOM の新しい JMS サービスプロパティセットを作成します。JMS キューを使用するために JMS サービスプロパティセットを設定する方法については、メッセージングと Web Event Service の実装にあるプロパティの設定手順を参照してください。
メッセージングと Web Event Service の実装で説明したのと同じ方法で、システム内の JMS プロパティを設定します。
オプションで、以下の JMS サービスプロパティセットの値を設定します。これらは、「その他の JMS プロパティ」セクションにあります。
プロパティ
LDAP エントリフィールド
.msg.defaultTaskQueue
デフォルトのサブミットキュー
.msg.defaultExecutionQueue
デフォルトの購読キュー
.msg.defaultResultsQueue
デフォルト結果キュー
サブミットキュー、購読キュー、結果キューに対するデフォルト値を設定していない場合、これらのキューはタスクをキューに追加するときに使用する Webject でネーミングされます。
イベントを発生するのに使用される JMS トピックを購読する 1 つまたは複数の Info*Engine タスクを作成する必要もあります。システムの起動時に、起動タスクを使用して、購読を生成できます。wt.federation.task.startup プロパティで起動タスクを制御するか、イベントが発生した際にタスクを実行する Info*Engine サーバーまたはサーブレットに対して、LDAP エントリフォーム上の Startup Task 1 フィールドにタスクを追加します。サーバー起動時にそのタスクを実行すると、サーバーのトピックは必ず購読されます。
* 
Windchill では、起動タスクは wt.propertieswt.federation.task.startup プロパティを使用して指定します。
タスクのキューへの追加、キューに追加されたタスクの実行、キューに追加されたタスクの結果の読み込みの例については、Info*Engine タスクを参照してください。