日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

深入浅出JMS(一)——JMS简单介绍

發布時間:2025/5/22 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入浅出JMS(一)——JMS简单介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????? 假設手機僅僅能進行實時通話,沒有留言和短信功能會怎么樣?一個電話打過來,正好沒有來得及接上,那么這個電話要傳遞的信息肯定就收不到了。為什么不能先將信息存下來,當用戶須要查看信息的時候再去獲得信息呢?伴隨著這個疑惑,短息和留言應運而生,不管手機是否開機、是否未及時接到,我們都能得到當中的信息。JMS提供了相似這種功能,本章我們將系統的學習JMS中的相關重要內容。

????? ? 掌握JMS基本概念及適用范圍

????? ? 點對點模型與公布/訂閱模型的差別和使用場合

????? ? 熟悉核心和通用的JMS API

????? ? 熟悉并理解JMSclient開發的步驟

????? ? 消息的同步和異步接收的實現方式

????? ? 串包問題的解決的方法

企業消息系統

????? Java Message Service是由Sun開發的,它為 Java程序提供一種訪問企業消息系統的方法。在討論JMS之前,我們分來析一下企業消息系統。
????? 企業消息系統,即面向消息的中間件(MOM),提供了以松散耦合的靈活方式集成應用程序的一種機制。它們提供了基于存儲和轉發的應用程序之間的異步數據發送,即應用程序彼此不直接通信,而是與作為中介的MOM 通信。MOM提供了有保證的消息發送,應用程序開發者無需了解遠程過程調用(PRC)和網絡/通信協議的細節。ActiveMQ正是MOM中優秀的一員。

企業消息系統的優點

我們先來看看下圖,應用程序A將Message發送到server上,然后應用程序B從server中接收A發來的消息,通過這個圖我們一起來分析一下JMS的優點

圖 1 JMS通訊示意圖

提供消息靈活性

????? 應用程序A與應用程序B通過使用MOM的應用程序編程接口(API)發送消息進行通信。MOM 將消息路由給應用程序B,這樣消息就能夠存在于MOM中,MOM 負責處理網絡通信。假設網絡連接不可用,MOM會存儲消息,直到連接變得可用時,再將消息轉發給應用程序B。
????? 靈活性的還有一方面體如今,當應用程序A發送其消息時,應用程序B甚至能夠不處于運行狀態。MOM將保留這個消息,直到應用程序B開始運行并試著檢索消息為止。這還防止了應用程序A由于等待應用程序B檢索消息而出現堵塞。
????? 這樣的異步通信要求應用程序的設計與如今大多數應用程序不同,只是對于時間無關或并行處理,它可能是一個極事實上用的方法。

松散耦合

????? 企業消息系統的真正威力在于應用程序的松散耦合。在上面的圖中,由應用程序A發送消息指定一個特定目標,如“訂單處理”。而如今,是由應用程序B提供訂單處理功能。
????? 可是在將來,我們能夠用不同的訂單處理程序替換應用程序B,應用程序A將不再是明智之選。替換應用程序將繼續發送消息完畢“訂單處理”,而消息也仍將得到處理。
????? 相同,我們也能夠替換應用程序A,僅僅要替換應用程序繼續發送消息進行“訂單處理”,訂單處理程序就無需知道是否有一個新的應用程序在發送訂單。

JMS是什么

????? JMS是一系列的接口及相關語義的集合,通過這些接口和和當中的方法,JMSclient怎樣去訪問消息系統,完畢創建、發送、接收和讀取企業消息系統中消息。
????? 在JMS之前,每一家MOM廠商都用專有API為應用程序提供對其產品的訪問,通??捎糜诤芏喾N語言,當中包含Java語言。JMS通過MOM為Java程序提供了一個發送和接收消息的標準的、便利的方法。用JMS編寫的程序能夠在不論什么實現JMS標準的MOM上執行。
????? JMS可移植性的關鍵在于:JMS API是由Sun作為一組接口而提供的。提供了JMS功能的產品是通過提供一個實現這些接口的提供者來做到這一點的。開發者能夠通過定義一組消息和一組交換這些消息的應用程序,建立JMS應用程序,實現異步通訊。

JMS的目標

????? JMS從提出以來,致力于完畢例如以下幾個目標:
定義一組消息公用概念和有用工具。
?????
全部Java應用程序都能夠使用JMS中定義的API去完畢消息的創建、接收與發送,不論什么實現了JMS標準的MOM都能夠作為消息的中介,完畢消息的存儲轉發。
最大化消息應用程序的可移植性。
?????
MOM提供了有保證的消息發送,應用程序開發者無需了解遠程過程調用(PRC)和網絡/通信協議的細節,提供了程序的可移植性。
最大化減少應用程序與應用系統之間的耦合度。
?????
因為MOM的存在,各個應用程序僅僅關心和MOM之間怎樣進行消息的接收與發送,而無需關注MOM的還有一邊,其它程序是怎樣接收和發送的。

JMS兩種消息模型

JMS提供了兩種消息通信模型:

????? ? 點到點(P2P)模型

????? ? 公布/訂閱(Pub/Sub)模型

圖 2 JMS通訊模型

從圖中能夠看出,ClientA和ClientB是消息生產者,通過兩種不同的目的地分別向ClientC、ClientD、ClientE和ClientF發送消息。
????? 在ClientA、C、D之間的消息是點對點模型,使用這樣的模型,client發送消息到隊列目的地(Queue),從這個隊列里面僅僅有一個消息接收者能夠收到那個消息,其它訪問同一目的地的接收者不會接收到該消息。如ClientC接收Queue中的Msg1消息,ClientD接收Queue中的Msg2消息。
????? 在ClientB、E、F之間的消息是公布/訂閱模型。使用這樣的廣播模型,一個client發送消息給主題目的地(Topic),不論什么數量的消費訂閱者能夠從這個主題目的地來接收它們。如:ClientE和ClientF都接收這個Msg3這條消息。

點到點模型

點對點傳遞模型:生產者發送消息到一個特定的隊列(Queue)中,而消費者從一個消息隊列中得到消息,例如以下圖所看到的:

圖 3 點到點通訊模型示意圖

點對點模型的特點:

?? 每條消息有一個消費者

????? 每條僅僅有一個消費者,假設一條消息被消息者接收,那么其它的消費者就不能得到這條消息了。

? 發送和接受消息與時間沒有關系

????? 也就是說,生產者在發送消息后,消費者能夠在隨意的時刻接收,但有兩個前提:

??????????? 1、消息未過期

??????????? 2、消息沒有被其它的用戶接收

????? 消費者也能夠先執行,當生產者一執行,將消息發送到隊列中,消費者就可以從隊列中獲得消息,這叫“守株待兔“。

?? 消費者必須確認對消息的接收

????? 收到消息后消費者必須確認消息已被接收,否則JMS服務提供者會覺得該消息沒有被接收,那么這條消息仍然能夠被其它人接收。程序能夠自己主動進行確認,不須要人工干預。

?? 非持久的消息最多僅僅發送一次

????? 非持久的消息最多僅僅發送一次,表示消息有可能未被發送,造成未被發送的原因可能有:

??????????? 1、 JMS服務提供者出現宕機等情況,造成非持久信息的丟失

??????????? 2、 隊列中的消息過期,未被接收

?? 持久的消息嚴格發送一次

????? 我們能夠將比較重要的消息設置為持久化的消息,持久化后的消息不會由于JMS服務提供者的故障或者其它原因造成消息丟失。

公布/訂閱模型

????? 公布/訂閱模型:公布/訂閱傳遞消息類型與主題(Topic)有關。生產者公布消息,而消費者訂閱感興趣的消息,生產者將消息和一個特定的主題(Topic)連在一起,消息傳遞系統(MOM)依據消費者注冊的興趣,將消息傳遞給消費者。這樣的類型很相似出版報紙、雜志的形式,例如以下圖所看到的:

圖 4 公布/訂閱通訊模型示意圖

公布/訂閱模型的特點:

?? 每一個消息都能夠有多個(0,1,……)訂閱者

????? 每條消息能夠有多個消費者,假設報紙和雜志一樣,誰訂閱了誰都能夠獲得。

?? 訂閱者僅僅能消費他們訂閱之后出版的消息

????? 這就要求訂閱者必須先訂閱,生產者再公布。即訂閱者必須先執行,再等待生產者的執行,這和點對點類型有所差異。

?? 訂閱者必須保持為活動狀態才干使用這些消息

????? 即訂閱者必須保持活動狀態等待公布者公布的消息,假設訂閱者在公布者公布消息之后才執行,則不能獲得先前公布者公布的消息。

總結

以上是生活随笔為你收集整理的深入浅出JMS(一)——JMS简单介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 蝌蚪久久 | 亚洲综合色吧 | 日本九九视频 | 天堂综合网 | 爱爱激情网| 韩国女主播裸体摇奶 | 日日噜噜夜夜狠狠久久波多野 | 国产一及片 | 女人叫床很黄很污句子 | jizz成熟丰满老女人 | 97av在线| 岛国毛片在线观看 | 香蕉视频一级片 | 亚洲少妇一区二区 | 天天躁日日躁aaaxxⅹ | 开元在线观看视频国语 | 午夜在线播放 | 91国视频 | 天堂网2018| 日本高清免费不卡视频 | 欧美极品少妇xxxxⅹ裸体艺术 | 免费看污片的网站 | 黑人玩弄人妻一区二区三区四 | 狠狠艹狠狠干 | 涩天堂| 天天曰夜夜曰 | 影音先锋亚洲天堂 | 欧洲国产精品 | 久久久久久国产精品三级玉女聊斋 | 美日韩成人av | 久久成人免费网站 | 91av精品| 午夜免费看片 | 亚洲自拍偷拍一区二区三区 | 91久久爽久久爽爽久久片 | 国产在线一区二区三区四区 | 欧美日韩大片在线观看 | av激情久久 | sao浪受的饥渴日常 91免费入口 | 亚洲卡一| 幸福宝在线观看 | www.一区二区三区四区 | 亚洲 欧洲 日韩 | h片大全| 蜜臀视频一区二区三区 | 欧美日韩国产免费 | 日本韩国欧美一区二区 | 亚洲我射 | 国产肉体xxxx裸体784大胆 | 日韩黄色三级视频 | 日韩黄色影视 | 欧美精品18videosex性欧美 | 日韩三级视频在线 | 人妻妺妺窝人体色www聚色窝 | 最近中文字幕mv | 天天视频国产 | 国产污污| 欧美日韩首页 | 热精品| 91在线看 | 99热亚洲| 日韩一区电影 | 在线观看三级网站 | 午夜精品久久久久久毛片 | 亚洲综合色网站 | 精品一区二区久久 | 越南黄色一级片 | 看污片网站| 先锋影音制服丝袜 | 一级免费a| 亚洲一区二区免费在线观看 | 日韩一级免费 | 欧美久久久久久 | 伊人成综合网 | 秘密的基地 | 国产成人亚洲综合 | 69色堂| a无一区二区三区 | 亚洲人人夜夜澡人人爽 | 亚洲成熟丰满熟妇高潮xxxxx | 欧洲自拍偷拍 | 国产乱子伦视频一区二区三区 | 91漂亮少妇露脸在线播放 | 美女被男人桶出白浆喷水 | 制服 丝袜 激情 欧洲 亚洲 | 99久久久国产精品无码性 | 国产探花在线观看 | 色欧美片视频在线观看 | 国产国语对白 | 91啦丨九色丨刺激 | 中文字幕不卡在线观看 | 日本在线中文字幕专区 | av导航网址 | 香蕉视频最新网址 | 97精品人人妻人人 | 老司机午夜免费福利 | 好屌妞视频这里有精品 | 91极品国产| 日本少妇xxx |