Java Message Service
JMS API は二つのモデルをサポートする。
1対1:ポイント・ツー・ポイント(キュー)
1対多:出版-購読型モデル(トピック)
メッセージは本文・ヘッダー・プロパティの3要素からなる。
メッセージ本文には以下の5種類を利用できる。
テキスト
マップ (Map)
オブジェクト (Serializable)
ストリーム (Stream)
バイト配列
プロパティの値としては String もしくは各種プリミティブ型の値が利用できる。プロパティに基づいてメッセージセレクタが利用できる。メッセージセレクタの構文は SQL92 条件式構文のサブセット。LIKE 演算子や中間一致も利用可能。
ヘッダーにはいろいろな項目がある。
JMSReplyTo ヘッダーでは、返信して欲しいキューもしくはトピックスを指定して、メッセージを処理した後、返信メッセージを送って欲しい送り先を指定することができる。
JMSCorrelationID ヘッダーでどのメッセージに対する返信かというのを表現できる。
JMSPriority ヘッダーで配信の優先順位を指定できる。
JMSDeliveryMode ヘッダーで、メッセージをストレージに永続化するかどうか指定できる。