厚積而薄發

          山不辭土,故能成其高;海不辭水,故能成其深!
          posts - 15, comments - 0, trackbacks - 0, articles - 1

          深入掌握JMS(六):消息頭

          Posted on 2009-10-30 14:21 Robin 閱讀(311) 評論(0)  編輯  收藏
          一個消息對象分為三部分:消息頭(Headers),屬性(Properties)和消息體(Payload)。對于StreamMessage和MapMessage,消息本身就有特定的結構,而對于TextMessage,ObjectMessage和BytesMessage是無結構的。一個消息可以包含一些重要的數據或者僅僅是一個事件的通知。

              消息的Headers部分通常包含一些消息的描述信息,它們都是標準的描述信息。包含下面一些值:

            JMSDestination
                 消息的目的地,Topic或者是Queue。

            JMSDeliveryMode
                  消息的發送模式:persistent或nonpersistent。前者表示消息在被消費之前,如果JMS提供者DOWN了,重新啟動后消息仍然存在。后者在這種情況下表示消息會被丟失??梢酝ㄟ^下面的方式設置:
                 Producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

                 JMSTimestamp
                 當調用send()方法的時候,JMSTimestamp會被自動設置為當前事件??梢酝ㄟ^下面方式得到這個值:
                 long timestamp = message.getJMSTimestamp();

            JMSExpiration
                 表示一個消息的有效期。只有在這個有效期內,消息消費者才可以消費這個消息。默認值為0,表示消息永不過期。可以通過下面的方式設置:
                 producer.setTimeToLive(3600000); //有效期1小時 (1000毫秒 * 60秒 * 60分)

            JMSPriority
                 消息的優先級。0-4為正常的優先級,5-9為高優先級??梢酝ㄟ^下面方式設置:
                 producer.setPriority(9);

            JMSMessageID
                 一個字符串用來唯一標示一個消息。

            JMSReplyTo
                 有時消息生產者希望消費者回復一個消息,JMSReplyTo為一個Destination,表示需要回復的目的地。當然消費者可以不理會它。

            JMSCorrelationID
                 通常用來關聯多個Message。例如需要回復一個消息,可以把JMSCorrelationID設置為所收到的消息的JMSMessageID。

            JMSType
                 表示消息體的結構,和JMS提供者有關。

            JMSRedelivered
                 如果這個值為true,表示消息是被重新發送了。因為有時消費者沒有確認他已經收到消息或者JMS提供者不確定消費者是否已經收到。

              除了Header,消息發送者可以添加一些屬性(Properties)。這些屬性可以是應用自定義的屬性,JMS定義的屬性和JMS提供者定義的屬性。我們通常只適用自定義的屬性。

              后面會講到這些Header和屬性的用法。

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 彰武县| 杭锦后旗| 马山县| 东乡族自治县| 黎平县| 当阳市| 图木舒克市| 天台县| 漯河市| 甘孜县| 岐山县| 芷江| 博湖县| 屯留县| 大连市| 东港市| 富川| 若羌县| 潢川县| 永定县| 东城区| 库车县| 盈江县| 于都县| 图木舒克市| 和平县| 保德县| 泸溪县| 五原县| 澄迈县| 曲阳县| 内乡县| 临猗县| 金山区| 永州市| 徐闻县| 丁青县| 迭部县| 积石山| 松桃| 镇坪县|