com.ibm.mq.headers

類別 MQHeaderIterator

  • java.lang.Object
    • com.ibm.mq.jmqi.JmqiObject
      • com.ibm.mq.headers.MQHeaderIterator
  • 所有實作的介面:
    java.util.Iterator


    public class MQHeaderIterator
    extends com.ibm.mq.jmqi.JmqiObject
    實作 java.util.Iterator
    MQHeaderIterator 會從訊息逐一傳回標頭。 這個類別可讓應用程式輕鬆存取訊息中的標頭內容。

    範例

    印出訊息中的所有標頭

       DataInput 訊息 = ...
       MQHeaderIterator it = new MQHeaderIterator (message);
       
       while (it.hasNext ())
       {
           MQHeader header = it.nextHeader ();
       
           System.out.println ("Header (type" + header.type + "): " + 標頭); 
       }
     

    跳過訊息中的所有標頭

       DataInput 訊息 = ...
       MQHeaderIterator it = new MQHeaderIterator (message);
       it.skipHeaders ();
     

    訊息讀取游標現在位於最後一個標頭之後。

    以字串形式擷取訊息內文,並跳過任何呈現的標頭

       DataInput message = ...;
       String body = new MQHeaderIterator (message) .getBodyAsText ();
     

    getBodyAsBytes 方法類似,但會以位元組陣列形式傳回訊息內文。

    如需直接搜尋特定標頭、從訊息中移除標頭以及其他 goodies 的能力,請參閱 MQHeaderList

    另請參閱:
    MQHeaderList
    • 欄位摘要

      • 繼承自類別 com.ibm.mq.jmqi.JmqiObject 的欄位

        COMP_JM, COMP_JN, COMP_JO
    • 建構子摘要

      建構子 
      建構子和說明
      MQHeaderIterator(java.io.DataInput message)
      在訊息周圍建構 MQHeaderIterator。
      MQHeaderIterator(java.io.DataInput message, java.lang.String format, int encoding, int characterSet)
      在訊息或位元組串流周圍建構 MQHeaderIterator。
    • 方法摘要

      所有方法 實例方法 具體方法 
      修飾元和類型 方法和說明
      java.lang.Object getBody()
      跳過任何剩餘標頭。
      byte[] getBodyAsBytes()
      跳過任何剩餘標頭
      java.lang.String getBodyAsText()
      跳過任何剩餘標頭
      boolean hasNext()
      指出是否有另一個標頭
      java.lang.Object next()
      取得下一個標頭
      MQHeader nextHeader()
      下一個 方法的同義字,但鍵入以傳回 MQHeader。
      java.io.DataInput skipHeaders()
      跳過現行訊息位置中剩餘的所有標頭。
      • 繼承自 java.lang.Object 類別的方法

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • 繼承自 java.util.Iterator 介面的方法

        forEachRemaining, remove
    • 建構子詳細資料

      • MQHeaderIterator

        public MQHeaderIterator (java.io.DataInput message)
        在訊息周圍建構 MQHeaderIterator。 將從訊息讀取游標的現行位置讀取標頭內容。 用來解譯內容的起始格式、編碼及 CCSID 取自訊息中的 MQMD 欄位。
        參數:
        message-訊息
      • MQHeaderIterator

        public MQHeaderIterator (java.io.DataInput message ,
                                java.lang.String 格式,
                                int encoding ,
                                int characterSet)
        在訊息或位元組串流周圍建構 MQHeaderIterator。 標頭內容將從訊息讀取游標的現行位置或位元組串流中的位置讀取。 用來解譯內容的起始格式編碼和 CCSID 是取自引數。
        參數:
        message-訊息
        format-訊息格式 (如需值,請參閱 CMQC.MQFMT_ *)
        encoding-數字編碼。 請參閱 (CMQC.MQENC_ * 以取得值)
        characterSet-編碼字集 ID。
    • 方法詳細資料

      • hasNext

        public boolean hasNext ()
        指出是否有另一個標頭
        指定者:
        hasNext 在介面中 java.util.Iterator
        傳回:
        true 或 false (視情況而定)
      • 下一步

        public java.lang.Object next ()
        取得下一個標頭
        指定者:
        next 在介面中 java.util.Iterator
        傳回:
        下一個標頭
      • nextHeader

        public MQHeader nextHeader ()
        下一個 方法的同義字,但鍵入以傳回 MQHeader。
        傳回:
        下一個標頭
      • skipHeaders

        public java.io.DataInput skipHeaders ()
                                      throws MQDataException,
                                             java.io.IOException
        跳過現行訊息位置中剩餘的所有標頭。
        傳回:
        位於最後一個標頭之後的原始訊息或位元組串流。
        擲出:
        MQDataException
        java.io.IOException
      • getBody

        public java.lang.Object getBody ()
                                 throws MQDataException,
                                        java.io.IOException
        跳過任何剩餘標頭。
        傳回:
        根據最後一個標頭的格式,將訊息內文作為字串或位元組陣列。 如果格式為 MQFMT_STRING,則內文為「字串」; 否則為位元組陣列。
        擲出:
        MQDataException
        java.io.IOException
      • getBodyAsBytes

        public byte [] getBodyAsBytes ()
                              throws MQDataException,
                                     java.io.IOException
        跳過任何剩餘標頭
        傳回:
        訊息內文作為位元組陣列。 即使最後一種格式是 MQFMT_STRING,此方法也會傳回位元組陣列。
        擲出:
        MQDataException
        java.io.IOException
      • getBodyAsText

        public java.lang.String getBodyAsText ()
                                       throws MQDataException,
                                              java.io.IOException
        跳過任何剩餘標頭
        傳回:
        訊息內文作為字串。 不論最後一個標頭的格式欄位為何,此方法都會傳回字串。 訊息內文的位元組內容會使用最後一個標頭 (或 MQMD ,如果沒有標頭,或沒有含有鏈結資訊的標頭) 所指示的 CCSID 轉換成「字串」。
        擲出:
        MQDataException
        java.io.IOException
© Copyright IBM Corp. 2008 , 2016. All Rights Reserved.