インターフェース ServerSession
ServerSession オブジェクトは、サーバーがスレッドを Jakarta Messaging セッションに関連付けるために使用するアプリケーションサーバーオブジェクトです(オプション)。ServerSession は、次の 2 つのメソッドを実装します。
getSession-ServerSessionの Jakarta Messaging セッションを返します。start-ServerSessionスレッドの実行を開始し、JMS セッションのrunメソッドを実行します。
Jakarta Messaging プロバイダーによって実装された ConnectionConsumer は、ServerSession を使用して、到着した 1 つ以上のメッセージを処理します。これは、ConnectionConsumer の ServerSessionPool から ServerSession を取得することによって行われます。ServerSession の Jakarta Messaging セッションを取得します。メッセージをロードします。次に、ServerSession を起動します。
ほとんどの場合、ServerSession は、提供するオブジェクトを ServerSession のスレッド実行オブジェクトとして登録します。ServerSession の start メソッドは、スレッドの start メソッドを呼び出して、新しいスレッドを開始し、そこから、ServerSession の実行オブジェクトの run メソッドを呼び出します。このオブジェクトは、ハウスキーピングを実行してから、Session の run メソッドを呼び出します。run が戻ると、ServerSession の実行オブジェクトは ServerSession を ServerSessionPool に戻すことができ、サイクルが再開されます。
Jakarta Messaging API は、ConnectionConsumer が Session にメッセージをロードする方法を設計していないことに注意してください。ConnectionConsumer と Session はどちらも同じ Jakarta Messaging プロバイダーによって実装されているため、プライベートメカニズムを使用してロードを実行できます。
- 導入:
- JMS 1.0
- バージョン:
- Jakarta Messaging 2.0
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明ServerSessionのSessionを返します。voidstart()Sessionのrunメソッドを呼び出して、割り当てられたばかりのメッセージを処理します。
メソッドの詳細
getSession
ServerSessionのSessionを返します。これは、メッセージをディスパッチするのと同じConnectionによって作成されたSessionである必要があります。プロバイダーは、1 つ以上のメッセージをSessionに割り当ててから、ServerSessionでstartを呼び出します。- 戻り値:
- サーバーセッションのセッション
- 例外:
JMSException- 内部エラーが原因で Jakarta Messaging プロバイダーがこのServerSessionに関連付けられたセッションを取得できない場合。
start
Sessionのrunメソッドを呼び出して、割り当てられたばかりのメッセージを処理します。- 例外:
JMSException- Jakarta Messaging プロバイダーが、内部エラーのためにメッセージを処理するためのサーバーセッションの開始に失敗した場合。