亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

深入淺出JMS(二)——JMS的組成

2019-11-14 15:23:19
字體:
來源:轉載
供稿:網友
JMS PRovider

      實現了JMS規范的消息系統,該系統還提供必須的用于管理和控制全方位的功能,如這里的ActiveMQ。

Administered Objects

      Administered Objects是預先配置的JMS對象,由系統管理員為使用JMS的客戶端創建,如ConnectionFactory、Destination。JMS 被管理的對象是包含JMS配置信息的對象,這些對象由JMS管理者創建,并且最終由JMS客戶端使用。

      由于有很多JMS消息系統,它們的底層實現技術各不相同,比如Sun MQ、IBM MQ、BEA MQ、Apache ActiveMQ,那么如何使得JMS客戶端針對這些消息系統編程時能夠隔離這些產品的變化而具有跨平臺特性呢?就是通過定義被管理的對象來實現。被管理 的對象是由管理員通過使用JMS系統提供者的管理工具創建和定制,然后被JMS客戶端使用。JMS客戶端通過接口來調用這些被管理的對象,從而具備跨平臺 特性。

      主要有兩個被管理的對象:ConnectionFactory、Destination

ConnectionFactory

      這是客戶端用來創建同JMS服務提供者之間的連接的對象。

Destination

      這個對象是客戶端用來指明消息被發送的目的地以及客戶端接收消息的來源。被管理的對象一般被管理員放在JNDI名字空間中,通常在JMS客戶端應用的文檔中說明它所需要的JMS被管理對象,以及應以何種JNDI名字來提供這些JMS被管理對象。

JMS客戶端

      這些客戶端程序通過使用JMS提供的API,來創建發送和接收消息的java語言程序,即消息生產者和消息消費者。

消息生產者

      客戶端使用MessageProducer向目的地發送消息。用Queue或者Topic對象作為參數來調用session對象的createProducer方法來創建MessageProducer。

      客戶端也可以選擇創建沒有目的地的生產者。這種情況下,目的地對象必須傳給每個發送操作。這種方式的一個典型用法就是生產者被用來發送回復請求時,使用請求的JMSReplyTo目的地。

      客戶端可指定由生產者發出的消息的缺省的傳送模式、優先級、存活周期。每次客戶端創建MessageProducer,它就定義了新的消息系列,這些消息與以前發送的消息沒有順序關系。

消息消費者

      客戶端使用MessageConsumer接受來自于目的地的消息,MessageConsumer通過向Session的createConsumer方法傳遞Queue或Topic來創建。

      消費者可以被帶有消息選擇器的方式來創建。這使得客戶端可以限制傳送給消費者的消息必須同選擇器相匹配??蛻舳思瓤梢酝将@取消費者的消息,也可以使提供者在消息到達時異步傳送消息。

Synchronous Delivery 同步傳送

      客戶端可以使用MessageConsumer的receive方法請求下一個來自于MessageConsumer的消息。Receive有幾種變化允許客戶端poll或者wait下一個消息。

Asynchronous Delivery 異步傳送

      客戶端可以注冊一個用MessageConsumer來實現JMS MessageListener接口的對象。當消息達到了消費者時,提供者通過調用監聽器的onMessage方法來傳送它們??赡鼙O聽器會拋出 RuntimeException異常,但是這主要考慮到的是客戶端程序錯誤。良好的監聽器應當捕捉這些異常并且嘗試將這些消息轉向發給一些應用指定的某 些形式的“不可處理消息”的目的地。

監聽器拋出RuntimeException的結果取決于會話的確認模式:

n AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE

      消息將被立即重發。在放棄之前的重發的次數取決于提供商。在這種情況下,JMSRedelivered 消息頭字段將設置在被重發的消息中。

n CLIENT_ACKNOWLEDGE

      監聽器的下一個消息將被傳送。如果客戶端希望是前面未確認的消息重新發送,它必須手工恢復會話。

n Transacted Session

      監聽器的下一個消息被發送,客戶端可以提交或者回滾會話。(換句話說,RuntimeException不會導致會話的自動回滾)JMS服務提供者應當將消息監聽器拋出異常的客戶端標記為“可能的障礙”。

Message

      用于在客戶端之間進行通訊的消息,消息系統的核心當然是消息。JMS 為不同類型的內容提供了幾種消息類型,但所有消息都是從 Message 接口派生出來的。

消息類型

說明

常用方法概覽

TextMessage

文本消息

getText,setText

MapMessage

映射消息

setString,getString

BytesMessage

字節消息

writeBytes,readBytes

StreamMessage

流消息

writeString,readString

ObjectMessage

對象消息

setObject,getObject

                                                         表 常用消息類

Message 分為三個組成部分:

Header

      是一組標準字段,客戶機和提供者都用它們來標識和路由消息。

Properties

      提供了一個給消息添加可選標題字段的實用工具。如果應用程序需要用標準標題字段沒有提供的方法對消息進行歸類或分類,那么可以為消息添加一個屬性來實現這 種歸類和分類;提供了 setProperty(...) 和 getProperty(...) 方法來設置和獲得各種 Java 類型的屬性,其中包括 Object。JMS 定義了提供者可以選擇性提供的一組標準屬性。

Body

      包含將發送到接收應用程序的內容。每一個消息接口都專用于它所支持的內容類型。

下面列出了 Message 的每一個標題字段的名稱、它對應的 Java 類型和字段的描述:

JMSMessageID——類型為 string

      惟一標識提供者發送的每一條消息。這個字段是在發送過程中由提供者設置的,客戶機只能在消息發送后才能確定消息的 JMSMessageID。

      JMSDestination——類型為 Destination

      消息發送的 Destination,在發送過程中由提供者設置。

JMSDeliveryMode—類型為 int

      包含值 DeliveryMode.PERSISTENT 或者 DeliveryMode.NON_PERSISTENT。持久性消息被傳輸并且只被傳輸一次,非持久性消息最多被傳輸一次。要知道“最多一次”包括根本 不傳輸。非持久性消息在應用程序或者系統出故障時被提供者弄丟。因此要格外小心,確保持久性消息不受故障的影響。這比開銷通常被認為是發送持久性消息方面 的開銷,在決定消息的發送模式時,必須仔細考慮,在可靠性和性能之間進行權衡。

JMSTimestamp——類型為 long

      提供者發送消息的時間,由提供者在發送過程中設置。

JMSExpiration——類型為 long

      消息失效的時間。這個值是在發送過程中計算的,是發送方法的生存時間(time-to-live)值和當前時間值的和。提供者不應發送過期的消息。值 0 表明消息不會過期。

JMSPriority——類型為 int

      消息的優先級,由提供者在發送過程中設置。優先級 0 的優先級最低,優先級 9 的優先級最高。

JMSCorrelationID——類型為 string

      通常用來鏈接響應消息與請求消息,由發送消息的 JMS 程序設置。響應來自另一個 JMS 程序的消息的 JMS 程序將正響應消息的 JMSMessageID 拷貝到這個字段中,這樣,正作出響應的程序就可以與它所發出的特定請求的響應相關聯。

JMSReplyTo—類型為 Destination

      請求程序用它來指出回復消息應發送的地方,由發送消息的 JMS 程序設置。

JMSType—類型為 string

      JMS 程序用它來指出消息的類型。一些提供者維護著一個消息類型倉庫,并用該字段引用倉庫中的定義類型,在這里,JMS 程序不應該使用這個字段。

JMSRedelivered——類型為 boolean

      指出消息被過早地發送給了 JMS 程序,程序不知道消息的接收者是誰;由提供者在接收過程中設置。


上一篇:JMS

下一篇:常用的編碼格式

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品一区二区三区| 按摩亚洲人久久| 日韩中文字幕国产| 精品久久久久久久久久久久久| 在线日韩第一页| 国产亚洲精品va在线观看| 欧美激情视频在线免费观看 欧美视频免费一| 日韩av在线影视| 成人av在线亚洲| 成人免费视频xnxx.com| 亚洲欧洲日本专区| 国产脚交av在线一区二区| 亚洲第一精品自拍| 欧美激情精品久久久久久变态| 国产精品欧美激情在线播放| 麻豆乱码国产一区二区三区| 中文欧美日本在线资源| 国产一区二区三区在线观看视频| 国产精品久久久久久久久久久不卡| 亚洲福利在线看| 欧美黄网免费在线观看| 精品国偷自产在线| 国产欧美va欧美va香蕉在| 尤物精品国产第一福利三区| 91精品久久久久久久久久入口| 狠狠综合久久av一区二区小说| 亚洲国产精品小视频| 亚洲欧美另类自拍| 欧美亚洲国产成人精品| 最近中文字幕mv在线一区二区三区四区| 亚洲色在线视频| 九九热这里只有精品6| 日韩成人高清在线| 欧美大尺度激情区在线播放| 亚洲激情视频在线观看| 久久久久久久网站| 国产精品一区二区电影| 欧美性受xxxx白人性爽| 久久夜色精品亚洲噜噜国产mv| 色综合伊人色综合网站| 国产精品视频yy9099| 茄子视频成人在线| 欧美激情精品久久久久久久变态| 亚洲视频在线免费观看| 久久久久这里只有精品| 成人国产在线视频| 亚洲电影中文字幕| 亚洲热线99精品视频| 日韩欧美亚洲范冰冰与中字| 欧美风情在线观看| 欧美日韩xxx| 日韩精品视频在线观看网址| 亚洲欧美日韩精品久久亚洲区| 亚洲激情视频在线观看| 久久久亚洲影院| 国产亚洲精品美女久久久久| 欧美日韩成人免费| 日韩欧美有码在线| 77777少妇光屁股久久一区| 91精品国产高清自在线看超| 国产精品亚洲视频在线观看| 国产精品一区二区电影| www.亚洲一区| 色哟哟网站入口亚洲精品| 亚洲国产精品va在看黑人| 久久综合久久88| 一区二区三区www| 亚洲欧美在线x视频| 国产成人在线一区二区| 一本一本久久a久久精品牛牛影视| 2019av中文字幕| 亚洲国产毛片完整版| 成人a在线观看| 久久免费视频在线观看| 亚洲最新av在线网站| 亚洲性日韩精品一区二区| 欧美日韩亚洲高清| 久久久久在线观看| 欧美大片免费观看在线观看网站推荐| 国产综合久久久久久| 亚洲大胆人体在线| 欧美日韩福利电影| 亚洲综合第一页| 欧美日韩激情网| 国产精品99蜜臀久久不卡二区| 一区二区在线视频| 97香蕉久久夜色精品国产| 日本国产高清不卡| 92版电视剧仙鹤神针在线观看| 国产精欧美一区二区三区| 日韩av在线播放资源| 亚洲人成在线观| 日本精品视频在线观看| 日韩电影免费观看在线观看| 欧美激情啊啊啊| 亚洲国产成人久久| 日韩一区av在线| 日韩av不卡电影| 91中文在线视频| 宅男66日本亚洲欧美视频| 色噜噜国产精品视频一区二区| 欧美激情小视频| 91视频国产一区| 在线成人免费网站| 欧美精品在线免费| 日韩欧美成人区| 欧美电影免费在线观看| 2019av中文字幕| 亚洲欧美国产一区二区三区| 国产精品视频资源| 色综合视频一区中文字幕| 午夜精品久久久久久久久久久久久| 国色天香2019中文字幕在线观看| 亚洲第一精品福利| 国产精品久久久久高潮| 久久久久久久av| 久久中国妇女中文字幕| 国产精品亚洲欧美导航| 狠狠躁夜夜躁人人躁婷婷91| 久久久久久久久综合| 国产成人av网址| 欧美人交a欧美精品| 日韩国产精品一区| 亚洲成人av在线播放| 亚洲成av人影院在线观看| 久久99久久亚洲国产| 国产精品福利在线| 欧美成人免费网| 国产极品jizzhd欧美| 2018日韩中文字幕| 国产精品视频中文字幕91| 亚洲欧美制服中文字幕| 国产主播喷水一区二区| 91国产美女在线观看| 久久亚洲成人精品| 国产精品久久久久久久午夜| 国产91在线播放| 国产一区二区三区在线播放免费观看| 欧美极品美女电影一区| 亚洲第五色综合网| 成人免费网视频| 国产美女扒开尿口久久久| 欧美高清视频在线| 国外视频精品毛片| 一道本无吗dⅴd在线播放一区| 欧美国产亚洲精品久久久8v| 国产亚洲成精品久久| 一区二区欧美日韩视频| 亚洲精品美女久久久久| 成人深夜直播免费观看| 国产美女精彩久久| 国产亚洲a∨片在线观看| 日韩一区二区欧美| 精品久久久久久久久国产字幕| 久久久视频免费观看| 国产日产亚洲精品| 欧美—级a级欧美特级ar全黄| 久久久久女教师免费一区| 国产成人精品电影| 在线播放精品一区二区三区| 久久中文字幕在线| 欧美性感美女h网站在线观看免费| 精品视频在线观看日韩| 成人精品视频久久久久|