Menu Close

42.4.2. メッセージヘッダープロパティーの検査

標準の JMS ヘッダープロパティー

表42.3「JMS ヘッダープロパティー」に、検査できる JMS ヘッダーの標準プロパティーの一覧を示します。

表42.3 JMS ヘッダープロパティー

プロパティー名プロパティーの型ゲッターメソッド

Correlation ID

string

getJMSCorralationID()

Delivery Mode

int

getJMSDeliveryMode()

Message Expiration

long

getJMSExpiration()

Message ID

string

getJMSMessageID()

Priority

int

getJMSPriority()

Redelivered

boolean

getJMSRedlivered()

Time Stamp

long

getJMSTimeStamp()

string

getJMSType()

Time To Live

long

getTimeToLive()

オプションのヘッダープロパティー

さらに、JMSMessageHeadersType.getProperty() を使用して、JMS ヘッダーに保存されているすべてのオプションプロパティーを検証することもできます。オプションのプロパティーは、org.apache.cxf.transports.jms.context.JMSPropertyTypeList として返されます。オプションのプロパティは、名前と値のペアとして格納されます。

例42.14「JMS ヘッダープロパティーの読み取り」に、応答コンテキストを使用して JMS プロパティーの一部を検査するコードを示します。

例42.14 JMS ヘッダープロパティーの読み取り

// JMSMessageHeadersType messageHdr retrieved previously
System.out.println("Correlation ID: "+messageHdr.getJMSCorrelationID());
System.out.println("Message Priority: "+messageHdr.getJMSPriority());
System.out.println("Redelivered: "+messageHdr.getRedelivered());

JMSPropertyType prop = null;
List<JMSPropertyType> optProps = messageHdr.getProperty();
Iterator<JMSPropertyType> iter = optProps.iterator();
while (iter.hasNext())
{
  prop = iter.next();
   System.out.println("Property name: "+prop.getName());
   System.out.println("Property value: "+prop.getValue());
}

例42.14「JMS ヘッダープロパティーの読み取り」のコードは、以下を行います。

メッセージの相関 ID の値を出力する。

メッセージの priority プロパティーの値を出力する。

メッセージの redelivered プロパティーの値を出力する。

メッセージのオプションヘッダープロパティーのリストを取得する。

プロパティーのリストをトラバースするために Iterator を取得する。

オプションプロパティーのリスト全体をイテレートし、名前と値を出力する。