パッケージ jakarta.jms

インターフェース MapMessage

すべてのスーパーインターフェース:
Message

public interface MapMessage extends Message
MapMessage オブジェクトは、名前と値のペアのセットを送信するために使用されます。名前は String オブジェクトであり、値は Java プログラミング言語のプリミティブデータ型です。名前には、null ではなく、空の文字列ではない値を含める必要があります。エントリには、名前で順次またはランダムにアクセスできます。エントリの順序は定義されていません。MapMessage は Message インターフェースを継承し、マップを含むメッセージ本文を追加します。

プリミティブ型は、各型のメソッドを使用して明示的に読み書きできます。また、オブジェクトとして一般的に読み書きすることもできます。たとえば、MapMessage.setInt("foo", 6) の呼び出しは MapMessage.setObject("foo", new Integer(6)) と同等です。明示的なフォームは静的プログラミングに便利であり、コンパイル時に型が不明な場合はオブジェクトフォームが必要であるため、両方のフォームが提供されます。

クライアントが MapMessage を受信すると、読み取り専用モードになります。この時点でクライアントがメッセージに書き込もうとすると、MessageNotWriteableException がスローされます。clearBody が呼び出されると、メッセージの読み取りと書き込みの両方が可能になります。

MapMessage オブジェクトは、次の変換テーブルをサポートしています。マークされたケースはサポートされている必要があります。マークされていないケースは JMSException をスローする必要があります。プリミティブの valueOf() メソッドがプリミティブの有効な String 表現として受け入れない場合、String -to-primitive 変換はランタイム例外をスローする可能性があります。

行型として書き込まれた値は、列型として読み取ることができます。

 |        | boolean byte short char int long float double String byte[]
 |----------------------------------------------------------------------
 |boolean |    X                                            X
 |byte    |          X     X         X   X                  X
 |short   |                X         X   X                  X
 |char    |                     X                           X
 |int     |                          X   X                  X
 |long    |                              X                  X
 |float   |                                    X     X      X
 |double  |                                          X      X
 |String  |    X     X     X         X   X     X     X      X
 |byte[]  |                                                        X
 |----------------------------------------------------------------------
 

null 値をプリミティブ型として読み取ろうとすると、null 値を指定して、プリミティブの対応する valueOf(String) 変換メソッドを呼び出すことになります。char は String 変換をサポートしていないため、char として null 値を読み取ろうとすると、NullPointerException がスローされます。

導入:
JMS 1.0
バージョン:
Jakarta Messaging 2.0
関連事項:
  • メソッドの詳細

    • getBoolean

      boolean getBoolean(StringSE name) throws JMSException
      指定された名前の boolean 値を返します。
      パラメーター:
      name - boolean の名前
      戻り値:
      指定された名前の boolean 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
      MessageFormatException - この型変換が無効な場合。
    • getByte

      byte getByte(StringSE name) throws JMSException
      指定された名前の byte 値を返します。
      パラメーター:
      name - byte の名前
      戻り値:
      指定された名前の byte 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
      MessageFormatException - この型変換が無効な場合。
    • getShort

      short getShort(StringSE name) throws JMSException
      指定された名前の short 値を返します。
      パラメーター:
      name - short の名前
      戻り値:
      指定された名前の short 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
      MessageFormatException - この型変換が無効な場合。
    • getChar

      char getChar(StringSE name) throws JMSException
      指定された名前の Unicode 文字値を返します。
      パラメーター:
      name - Unicode 文字の名前
      戻り値:
      指定された名前の Unicode 文字値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
      MessageFormatException - この型変換が無効な場合。
    • getInt

      int getInt(StringSE name) throws JMSException
      指定された名前の int 値を返します。
      パラメーター:
      name - int の名前
      戻り値:
      指定された名前の int 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
      MessageFormatException - この型変換が無効な場合。
    • getLong

      long getLong(StringSE name) throws JMSException
      指定された名前の long 値を返します。
      パラメーター:
      name - long の名前
      戻り値:
      指定された名前の long 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
      MessageFormatException - この型変換が無効な場合。
    • getFloat

      float getFloat(StringSE name) throws JMSException
      指定された名前の float 値を返します。
      パラメーター:
      name - float の名前
      戻り値:
      指定された名前の float 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
      MessageFormatException - この型変換が無効な場合。
    • getDouble

      double getDouble(StringSE name) throws JMSException
      指定された名前の double 値を返します。
      パラメーター:
      name - double の名前
      戻り値:
      指定された名前の double 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
      MessageFormatException - この型変換が無効な場合。
    • getString

      StringSE getString(StringSE name) throws JMSException
      指定された名前の String 値を返します。
      パラメーター:
      name - String の名前
      戻り値:
      指定された名前の String 値。この名前のアイテムがない場合は、null 値が返されます
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
      MessageFormatException - この型変換が無効な場合。
    • getBytes

      byte[] getBytes(StringSE name) throws JMSException
      指定された名前のバイト配列値を返します。
      パラメーター:
      name - バイト配列の名前
      戻り値:
      指定された名前のバイト配列値のコピー。この名前のアイテムがない場合は、null 値が返されます。
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
      MessageFormatException - この型変換が無効な場合。
    • getObject

      ObjectSE getObject(StringSE name) throws JMSException
      指定された名前のオブジェクトの値を返します。

      このメソッドを使用して、同等の setObject メソッド呼び出しまたは同等のプリミティブ settype メソッドで Map に格納されていた Java プログラミング言語のオブジェクト(「Java オブジェクト」)をオブジェクト化された形式で返すことができます。

      バイト値は Byte[] ではなく byte[] として返されることに注意してください。

      パラメーター:
      name - Java オブジェクトの名前
      戻り値:
      オブジェクト化された形式での、指定された名前の Java オブジェクト値のコピー(たとえば、オブジェクトが int として設定された場合、Integer が返されます); この名前のアイテムがない場合は、null 値が返されます
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
    • getMapNames

      EnumerationSE getMapNames() throws JMSException
      MapMessage オブジェクト内のすべての名前の Enumeration を返します。
      戻り値:
      この MapMessage のすべての名前の列挙
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
    • setBoolean

      void setBoolean(StringSE name, boolean value) throws JMSException
      指定された名前の boolean 値をマップに設定します。
      パラメーター:
      name - boolean の名前
      value - マップに設定する boolean 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
      IllegalArgumentExceptionSE - 名前が null の場合、または名前が空の文字列の場合。
      MessageNotWriteableException - メッセージが読み取り専用モードの場合。
    • setByte

      void setByte(StringSE name, byte value) throws JMSException
      指定された名前の byte 値をマップに設定します。
      パラメーター:
      name - byte の名前
      value - マップに設定する byte 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
      IllegalArgumentExceptionSE - 名前が null の場合、または名前が空の文字列の場合。
      MessageNotWriteableException - メッセージが読み取り専用モードの場合。
    • setShort

      void setShort(StringSE name, short value) throws JMSException
      指定された名前の short 値をマップに設定します。
      パラメーター:
      name - short の名前
      value - マップに設定する short 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
      IllegalArgumentExceptionSE - 名前が null の場合、または名前が空の文字列の場合。
      MessageNotWriteableException - メッセージが読み取り専用モードの場合。
    • setChar

      void setChar(StringSE name, char value) throws JMSException
      指定された名前の Unicode 文字値をマップに設定します。
      パラメーター:
      name - Unicode 文字の名前
      value - マップに設定する Unicode 文字値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
      IllegalArgumentExceptionSE - 名前が null の場合、または名前が空の文字列の場合。
      MessageNotWriteableException - メッセージが読み取り専用モードの場合。
    • setInt

      void setInt(StringSE name, int value) throws JMSException
      指定された名前の int 値をマップに設定します。
      パラメーター:
      name - int の名前
      value - マップに設定する int 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
      IllegalArgumentExceptionSE - 名前が null の場合、または名前が空の文字列の場合。
      MessageNotWriteableException - メッセージが読み取り専用モードの場合。
    • setLong

      void setLong(StringSE name, long value) throws JMSException
      指定された名前の long 値をマップに設定します。
      パラメーター:
      name - long の名前
      value - マップに設定する long 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
      IllegalArgumentExceptionSE - 名前が null の場合、または名前が空の文字列の場合。
      MessageNotWriteableException - メッセージが読み取り専用モードの場合。
    • setFloat

      void setFloat(StringSE name, float value) throws JMSException
      指定された名前の float 値をマップに設定します。
      パラメーター:
      name - float の名前
      value - マップに設定する float 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
      IllegalArgumentExceptionSE - 名前が null の場合、または名前が空の文字列の場合。
      MessageNotWriteableException - メッセージが読み取り専用モードの場合。
    • setDouble

      void setDouble(StringSE name, double value) throws JMSException
      指定された名前の double 値をマップに設定します。
      パラメーター:
      name - double の名前
      value - マップに設定する double 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
      IllegalArgumentExceptionSE - 名前が null の場合、または名前が空の文字列の場合。
      MessageNotWriteableException - メッセージが読み取り専用モードの場合。
    • setString

      void setString(StringSE name, StringSE value) throws JMSException
      指定された名前の String 値をマップに設定します。
      パラメーター:
      name - String の名前
      value - マップに設定する String 値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
      IllegalArgumentExceptionSE - 名前が null の場合、または名前が空の文字列の場合。
      MessageNotWriteableException - メッセージが読み取り専用モードの場合。
    • setBytes

      void setBytes(StringSE name, byte[] value) throws JMSException
      指定された名前のバイト配列値をマップに設定します。
      パラメーター:
      name - バイト配列の名前
      value - マップに設定するバイト配列値。name の値が将来の変更によって変更されないように配列がコピーされます
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
      IllegalArgumentExceptionSE - 名前が null の場合、または名前が空の文字列の場合。
      MessageNotWriteableException - メッセージが読み取り専用モードの場合。
    • setBytes

      void setBytes(StringSE name, byte[] value, int offset, int length) throws JMSException
      指定された名前のバイト配列値の一部をマップに設定します。
      パラメーター:
      name - バイト配列の名前
      value - マップに設定するバイト配列値
      offset - バイト配列内の初期オフセット
      length - 使用するバイト数
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
      IllegalArgumentExceptionSE - 名前が null の場合、または名前が空の文字列の場合。
      MessageNotWriteableException - メッセージが読み取り専用モードの場合。
    • setObject

      void setObject(StringSE name, ObjectSE value) throws JMSException
      指定された名前のオブジェクト値をマップに設定します。

      このメソッドは、オブジェクト化されたプリミティブオブジェクト型(IntegerDoubleLong ...)、String オブジェクト、バイト配列に対してのみ機能します。

      パラメーター:
      name - Java オブジェクトの名前
      value - マップに設定する Java オブジェクトの値
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
      IllegalArgumentExceptionSE - 名前が null の場合、または名前が空の文字列の場合。
      MessageFormatException - オブジェクトが無効な場合。
      MessageNotWriteableException - メッセージが読み取り専用モードの場合。
    • itemExists

      boolean itemExists(StringSE name) throws JMSException
      この MapMessage オブジェクトにアイテムが存在するかどうかを示します。
      パラメーター:
      name - テストするアイテムの名前
      戻り値:
      アイテムが存在する場合は true
      例外:
      JMSException - 内部エラーのために Jakarta Messaging プロバイダーがアイテムの存在を確認できない場合