パッケージ 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
    関連事項:
    Session.createMapMessage(), BytesMessage, Message, ObjectMessage, StreamMessage, TextMessage
    • メソッドの詳細

      • 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 プロバイダーがアイテムの存在を確認できない場合