参照先: 説明
インターフェース | 説明 |
---|---|
BytesMessage | BytesMessage オブジェクトは、解釈されないバイトのストリームを含むメッセージを送信するために使用されます。 |
CompletionListener | CompletionListener はアプリケーションによって実装され、メッセージが非同期に送信されるときに指定できます。 |
Connection | Connection オブジェクトは、Jakarta Messaging プロバイダーへのクライアントのアクティブな接続です。 |
ConnectionConsumer | アプリケーションサーバーの場合、 Connection オブジェクトは ConnectionConsumer を作成するための特別な機能を提供します(オプション)。 |
ConnectionFactory | ConnectionFactory オブジェクトは、管理者が定義した一連の接続構成パラメーターをカプセル化します。 |
ConnectionMetaData | ConnectionMetaData オブジェクトは、Connection オブジェクトを説明する情報を提供します。 |
DeliveryMode | Jakarta Messaging API でサポートされている配信モードは PERSISTENT および NON_PERSISTENT です。 |
Destination | Destination オブジェクトは、プロバイダー固有のアドレスをカプセル化します。 |
ExceptionListener | Jakarta Messaging プロバイダーは、 Connection オブジェクトに重大な問題を検出すると、Connection オブジェクトの ExceptionListener が登録されているかどうかを通知します。 |
JMSConsumer | Jakarta Messaging 2.0 に導入された簡略化された Jakarta Messaging API を使用するクライアントは、 JMSConsumer オブジェクトを使用して、キューまたはトピックからメッセージを受信します。 |
JMSContext | JMSContext は、Jakarta Messaging 2.0 用に導入された簡略化された Jakarta Messaging API のメインインターフェースです。 |
JMSProducer | JMSProducer は、JMSContext に代わってメッセージを送信するために使用される単純なオブジェクトです。 |
MapMessage | MapMessage オブジェクトは、名前と値のペアのセットを送信するために使用されます。 |
Message | Message インターフェースは、すべての Jakarta Messaging メッセージのルートインターフェースです。 |
MessageConsumer | クライアントは MessageConsumer オブジェクトを使用して、宛先からメッセージを受信します。 |
MessageListener | MessageListener オブジェクトは、非同期で配信されるメッセージを受信するために使用されます。 |
MessageProducer | クライアントは MessageProducer オブジェクトを使用して宛先にメッセージを送信します。 |
ObjectMessage | ObjectMessage オブジェクトは、Java プログラミング言語の直列化可能オブジェクト(「Java オブジェクト」)を含むメッセージを送信するために使用されます。 |
Queue | Queue オブジェクトは、プロバイダー固有のキュー名をカプセル化します。 |
QueueBrowser | クライアントは QueueBrowser オブジェクトを使用して、キューのメッセージを削除せずに調べます。 |
QueueConnection | QueueConnection オブジェクトは、ポイントツーポイントの Jakarta Messaging プロバイダーへのアクティブな接続です。 |
QueueConnectionFactory | クライアントは QueueConnectionFactory オブジェクトを使用して、ポイントツーポイントの Jakarta Messaging プロバイダーで QueueConnection オブジェクトを作成します。 |
QueueReceiver | クライアントは、 QueueReceiver オブジェクトを使用して、キューに配信されたメッセージを受信します。 |
QueueSender | クライアントは QueueSender オブジェクトを使用してメッセージをキューに送信します。 |
QueueSession | QueueSession オブジェクトは、QueueReceiver 、QueueSender 、QueueBrowser 、TemporaryQueue オブジェクトを作成するためのメソッドを提供します。 |
ServerSession | ServerSession オブジェクトは、サーバーがスレッドを Jakarta Messaging セッションに関連付けるために使用するアプリケーションサーバーオブジェクトです(オプション)。 |
ServerSessionPool | ServerSessionPool オブジェクトは、ConnectionConsumer のメッセージを処理するための ServerSession オブジェクトのプールを提供するためにアプリケーションサーバーによって実装されるオブジェクトです(オプション)。 |
Session | Session オブジェクトは、メッセージを生成および消費するためのシングルスレッドコンテキストです。 |
StreamMessage | StreamMessage オブジェクトは、Java プログラミング言語でプリミティブ型のストリームを送信するために使用されます。 |
TemporaryQueue | TemporaryQueue オブジェクトは、Connection の期間中に作成される一意の Queue オブジェクトです。 |
TemporaryTopic | TemporaryTopic オブジェクトは、Connection の期間中に作成される一意の Topic オブジェクトです。 |
TextMessage | TextMessage オブジェクトは、java.lang.String を含むメッセージを送信するために使用されます。 |
Topic | Topic オブジェクトは、プロバイダー固有のトピック名をカプセル化します。 |
TopicConnection | TopicConnection オブジェクトは、パブリッシュ / サブスクライブ Jakarta Messaging プロバイダーへのアクティブな接続です。 |
TopicConnectionFactory | クライアントは TopicConnectionFactory オブジェクトを使用して、パブリッシュ / サブスクライブ Jakarta Messaging プロバイダーで TopicConnection オブジェクトを作成します。 |
TopicPublisher | クライアントは TopicPublisher オブジェクトを使用してトピックに関するメッセージを公開します。 |
TopicSession | TopicSession オブジェクトは、TopicPublisher 、TopicSubscriber 、TemporaryTopic オブジェクトを作成するためのメソッドを提供します。 |
TopicSubscriber | クライアントは TopicSubscriber オブジェクトを使用して、トピックに発行されたメッセージを受信します。 |
XAConnection | XAConnection インターフェースは、XASession (オプション)を提供することにより、Connection の機能を継承します。 |
XAConnectionFactory | XAConnectionFactory インターフェースは、XAQueueConnectionFactory および XATopicConnectionFactory インターフェースの基本インターフェースです。 |
XAJMSContext | XAJMSContext インターフェースは、Jakarta Messaging プロバイダーの Java Transaction API(JTA)に対するサポートへのアクセスを追加することにより、JMSContext の機能を継承します(オプション)。 |
XAQueueConnection | XAQueueConnection は、QueueConnection と同じ作成オプションを提供します(オプション)。 |
XAQueueConnectionFactory | XAQueueConnectionFactory は、QueueConnectionFactory と同じ作成オプションを提供します(オプション)。 |
XAQueueSession | XAQueueSession は、通常の QueueSession を提供します。これは、QueueReceiver 、QueueSender 、QueueBrowser オブジェクトの作成に使用できます(オプション)。 |
XASession | XASession インターフェースは、Jakarta Messaging プロバイダーの Java Transaction API(JTA)に対するサポートへのアクセスを追加することにより、Session の機能を継承します(オプション)。 |
XATopicConnection | XATopicConnection は、TopicConnection と同じ作成オプションを提供します(オプション)。 |
XATopicConnectionFactory | XATopicConnectionFactory は、TopicConnectionFactory と同じ作成オプションを提供します(オプション)。 |
XATopicSession | XATopicSession は通常の TopicSession を提供します。 |
クラス | 説明 |
---|---|
QueueRequestor | QueueRequestor ヘルパークラスは、サービスリクエストの作成を簡素化します。 |
TopicRequestor | TopicRequestor ヘルパークラスは、サービスリクエストの作成を簡素化します。 |
例外 | 説明 |
---|---|
IllegalStateException | この例外は、メソッドが不正または不適切なときに呼び出された場合、またはプロバイダーがリクエストされた操作に対して適切な状態にない場合にスローされます。 |
IllegalStateRuntimeException | このチェックされていない例外は、メソッドが不正または不適切なタイミングで呼び出された場合、またはプロバイダーがリクエストされた操作に対して適切な状態にない場合にスローされ、メソッドシグネチャーは IllegalStateRuntimeException のスローを許可しません。 |
InvalidClientIDException | クライアントが接続のクライアント ID をプロバイダーによって拒否された値に設定しようとすると、この例外がスローされる必要があります。 |
InvalidClientIDRuntimeException | このチェックされていない例外は、クライアントが接続のクライアント ID をプロバイダーによって拒否された値に設定しようとしたときにスローする必要があり、メソッドシグネチャーは InvalidClientIDException のスローを許可しません。 |
InvalidDestinationException | この例外は、宛先がプロバイダーに認識されないか、無効になった場合にスローする必要があります。 |
InvalidDestinationRuntimeException | このチェックされていない例外は、宛先がプロバイダーによって理解されないか、無効になった場合にスローする必要があり、メソッドシグネチャーが InvalidDestinationException のスローを許可しません。 |
InvalidSelectorException | この例外は、Jakarta Messaging クライアントが無効な構文のメッセージセレクターをプロバイダーに提供しようとしたときにスローされる必要があります。 |
InvalidSelectorRuntimeException | このチェックされていない例外は、Jakarta Messaging クライアントが無効な構文を使用してプロバイダーにメッセージセレクターを提供しようとし、メソッドシグネチャーが InvalidSelectorException のスローを許可していない場合にスローする必要があります。 |
JMSException | これは、Jakarta Messaging API のすべてのチェック済み例外のルートクラスです。 |
JMSRuntimeException | これは、Jakarta Messaging API のすべての未チェックの例外のルートクラスです。 |
JMSSecurityException | この例外は、プロバイダーがクライアントから送信されたユーザー名 / パスワードを拒否した場合にスローする必要があります。 |
JMSSecurityRuntimeException | このチェックされていない例外は、プロバイダーがクライアントから送信されたユーザー名 / パスワードを拒否した場合、またはセキュリティ制限によりメソッドが完了できず、メソッドシグネチャーが JMSSecurityException のスローを許可していない場合にスローする必要があります。 |
MessageEOFException | この例外は、 StreamMessage または BytesMessage の読み取り中にストリームの予期しない終わりに達した場合にスローする必要があります。 |
MessageFormatException | この例外は、Jakarta Messaging クライアントがメッセージでサポートされていないデータ型を使用しようとしたり、メッセージ内のデータを間違った型として読み取ったりした場合にスローする必要があります。 |
MessageFormatRuntimeException | このチェックされていない例外は、Jakarta Messaging アプリケーションがメッセージでサポートされていないデータ型を使用しようとしたり、メッセージ内のデータを誤った型として読み取ったりしようとした場合にスローする必要があり、メソッドシグネチャーは MessageFormatException のスローを許可しません。 |
MessageNotReadableException | この例外は、Jakarta Messaging クライアントが書き込み専用メッセージを読み取ろうとしたときにスローされる必要があります。 |
MessageNotWriteableException | この例外は、Jakarta Messaging クライアントが読み取り専用メッセージに書き込もうとしたときにスローされる必要があります。 |
MessageNotWriteableRuntimeException | このチェックされていない例外は、Jakarta Messaging クライアントが読み取り専用メッセージに書き込もうとしたときにスローされる必要があります。 |
ResourceAllocationException | この例外は、プロバイダーがメソッドに必要なリソースを割り当てることができない場合にスローされます。 |
ResourceAllocationRuntimeException | この未チェックの例外は、プロバイダーがメソッドに必要なリソースを割り当てることができない場合にスローされます。 |
TransactionInProgressException | この例外は、トランザクションが進行中であるために操作が無効な場合にスローされます。 |
TransactionInProgressRuntimeException | この未チェックの例外は、トランザクションが進行中であるために操作が無効な場合にスローされます。 |
TransactionRolledBackException | この例外は、 Session.commit の呼び出しにより現在のトランザクションがロールバックされる場合にスローする必要があります。 |
TransactionRolledBackRuntimeException | このチェックされていない例外は、 JMSContext.commit の呼び出しの結果、現在のトランザクションがロールバックされる場合にスローする必要があります。 |
アノテーション型 | 説明 |
---|---|
JMSConnectionFactory | このアノテーションをフィールドで使用して、 jakarta.jms.JMSContext オブジェクトを挿入するときに使用する jakarta.jms.ConnectionFactory の JNDI ルックアップ名を指定できます。 |
JMSConnectionFactoryDefinition | アプリケーションはこのアノテーションを使用して、運用環境で必要な Jakarta Messaging ConnectionFactory リソースを指定できます。 |
JMSConnectionFactoryDefinitions | 1 つ以上の JMSConnectionFactoryDefinition アノテーションを指定します。 |
JMSDestinationDefinition | アプリケーションはこのアノテーションを使用して、運用環境で必要な Jakarta Messaging Destination リソースを指定できます。 |
JMSDestinationDefinitions | 1 つ以上の JMSDestinationDefinition アノテーションを指定します。 |
JMSPasswordCredential | このアノテーションは、 jakarta.jms.JMSContext オブジェクトを挿入するときに使用する userName とパスワードを指定するために使用できます。 |
JMSSessionMode | このアノテーションは、 jakarta.jms.JMSContext オブジェクトを挿入するときに使用されるセッションモードを指定するために使用できます。 |
Jakarta Messaging API は、Java プログラムがエンタープライズメッセージングシステムのメッセージを作成、送信、受信、読み取るための一般的な方法を提供します。
Jakarta Messaging アプリケーションは、次の部分で構成されています。
Jakarta Messaging プロバイダーは、基盤となるメッセージングテクノロジーの実装が大きく異なります。Jakarta Messaging プロバイダーのシステムのインストール方法と管理方法にも大きな違いがあります。
Jakarta Messaging クライアントを移植可能にするには、プロバイダーのこれらの独自の側面から分離する必要があります。これは、プロバイダーの管理者によって作成およびカスタマイズされ、後でクライアントによって使用される Jakarta Messaging 管理対象オブジェクトを定義することによって行われます。クライアントは、移植可能な Jakarta Messaging インターフェースを介して使用します。管理者は、プロバイダー固有の機能を使用して作成します。
Jakarta Messaging 管理対象オブジェクトには次の 2 つの型があります。
ConnectionFactory
- クライアントが Jakarta Messaging プロバイダーとの接続を作成するために使用するオブジェクト Destination
- クライアントが送信するメッセージの宛先と受信するメッセージのソースを指定するために使用するオブジェクト 管理対象オブジェクトは、管理者によって JNDI(Java Naming and Directory Interface)名前空間に配置されます。Jakarta Messaging クライアントは通常、ドキュメントに、必要な Jakarta Messaging 管理対象オブジェクトと、これらのオブジェクトの JNDI 名をどのように提供するかを記載しています。
Jakarta Messaging は、次の 2 つのメッセージングスタイルをサポートしています。
これらの 2 つのスタイルは、現在使用されているメッセージングへの 2 つの主要なアプローチを表しています。
歴史的な理由から、Jakarta Messaging は、メッセージを送受信するための 4 つの代替インターフェースセットを提供します。
各 API は、Jakarta Messaging プロバイダーに接続し、メッセージを送受信するための異なるインターフェースのセットを提供します。ただし、これらはすべて、メッセージとメッセージの宛先を表し、さまざまなユーティリティ機能を提供するための共通のインターフェースセットを共有しています。
すべてのインターフェースは jakarta.jms
パッケージに含まれています。
複数の API に共通する主なインターフェースは次のとおりです。
Message
、BytesMessage
、MapMessage
、ObjectMessage
、StreamMessage
、TextMessage
- Jakarta Messaging プロバイダーとの間で送受信されるメッセージ。Queue
- ポイントツーポイントメッセージングのメッセージ宛先の ID をカプセル化する管理対象オブジェクト Topic
- pub/ サブメッセージングのメッセージ宛先の ID をカプセル化する管理対象オブジェクト。Destination
- Queue
と Topic
の一般的なスーパー型 ConnectionFactory
- クライアントが Connection
を作成するために使用する管理対象オブジェクト。このインターフェースは、簡略化された API でも使用されます。Connection
- Jakarta Messaging プロバイダーへのアクティブな接続 Session
- メッセージを送受信するためのシングルスレッドコンテキスト MessageProducer
- キューまたはトピックにメッセージを送信するために使用されるセッションによって作成されたオブジェクト MessageConsumer
- キューまたはトピックに送信されたメッセージの受信に使用されるセッションによって作成されたオブジェクト ConnectionFactory
- クライアントが JMSContext
を作成するために使用する管理対象オブジェクト。このインターフェースは、従来の API でも使用されます。JMSContext
- Jakarta Messaging プロバイダーへのアクティブな接続と、メッセージを送受信するためのシングルスレッドコンテキスト JMSProducer
- キューまたはトピックにメッセージを送信するために使用される JMSContext
によって作成されたオブジェクト JMSConsumer
- キューまたはトピックに送信されたメッセージを受信するために使用される JMSContext
によって作成されたオブジェクト ドメイン固有の API は、下位互換性の理由から Jakarta Messaging の一部のままですが、従来の単純化された API に完全に取って代わられると見なす必要があります。
ポイントツーポイントメッセージング用のドメイン固有 API によって提供される主なインターフェースは次のとおりです。
QueueConnectionFactory
- クライアントが QueueConnection
を作成するために使用する管理対象オブジェクト。QueueConnection
- Jakarta Messaging プロバイダーへのアクティブな接続 QueueSession
- メッセージを送受信するためのシングルスレッドコンテキスト QueueSender
- キューにメッセージを送信するために使用される QueueSession
によって作成されたオブジェクト QueueReceiver
- キューに送信されたメッセージの受信に使用される QueueSession
によって作成されたオブジェクト TopicConnectionFactory
- クライアントが TopicConnection
を作成するために使用する管理対象オブジェクト。TopicConnection
- Jakarta Messaging プロバイダーへのアクティブな接続 TopicSession
- メッセージを送受信するためのシングルスレッドコンテキスト TopicPublisher
- トピックにメッセージを送信するために使用される TopicSession
によって作成されたオブジェクト TopicSubscriber
- トピックに送信されたメッセージの受信に使用される TopicSession
によって作成されたオブジェクト このドキュメントでは、「消費」という用語は、Jakarta Messaging クライアントによるメッセージの受信を意味するために使用されます。つまり、Jakarta Messaging プロバイダーがメッセージを受信し、それをクライアントに渡しました。Jakarta Messaging はメッセージの同期受信と非同期受信の両方をサポートしているため、消費という用語は、区別する必要がない場合に使用されます。
生成という用語は、メッセージを送信するための最も一般的な用語として使用されます。これは、宛先に配信するために Jakarta Messaging プロバイダーにメッセージを送信することを意味します。
大まかに言えば、Jakarta Messaging アプリケーションは、メッセージを交換する 1 つ以上の Jakarta Messaging クライアントです。このアプリケーションには、JakartaMessaging 以外のクライアントも含まれる場合があります。ただし、これらのクライアントは、Jakarta Messaging API の代わりに Jakarta Messaging プロバイダーのネイティブ API を使用します。
Jakarta Messaging アプリケーションは、ユニットとして設計およびデプロイできます。多くの場合、Jakarta Messaging クライアントは既存のアプリケーションに段階的に追加されます。
アプリケーションによって使用されるメッセージ定義は、JMS で作成されている場合もあれば、アプリケーションの非 Jakarta メッセージング部分によって定義されている場合もあります。
従来の API を使用する一般的な Jakarta Messaging クライアントは、次の Jakarta Messaging セットアップ手順を実行します。
ConnectionFactory
オブジェクトを検索します Destination
オブジェクトを検索します Connection
オブジェクトを作成します Session
オブジェクトを作成します MessageProducer
オブジェクトと MessageConsumer
オブジェクトを作成します Connection
に指示します 対照的に、簡略化された API を使用する一般的な Jakarta Messaging クライアントは、次のことを行います。
ConnectionFactory
オブジェクトを検索します Destination
オブジェクトを検索します ConnectionFactory
を使用して JMSContext
オブジェクトを作成します JMSContext
を使用して、必要な JMSProducer
および JMSConsumer
オブジェクトを作成します。この時点で、クライアントはメッセージを生成および消費するために必要な基本的な Jakarta Messaging セットアップを持っています。
Jakarta Messaging 2.0 仕様
Jakarta Enterprise Edition Technical Documentation
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.