パッケージ jakarta.jms

インターフェース ServerSession


  • public interface 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
    関連事項:
    ServerSessionPool, ConnectionConsumer
    • メソッドの詳細

      • getSession

        Session getSession()
                    throws JMSException
        ServerSession の Session を返します。これは、メッセージをディスパッチするのと同じ Connection によって作成された Session である必要があります。プロバイダーは、1 つ以上のメッセージを Session に割り当ててから、ServerSession で start を呼び出します。
        戻り値:
        サーバーセッションのセッション
        例外:
        JMSException - 内部エラーが原因で Jakarta Messaging プロバイダーがこの ServerSession に関連付けられたセッションを取得できない場合。
      • start

        void start()
            throws JMSException
        Session の run メソッドを呼び出して、割り当てられたばかりのメッセージを処理します。
        例外:
        JMSException - Jakarta Messaging プロバイダーが、内部エラーのためにメッセージを処理するためのサーバーセッションの開始に失敗した場合。