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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

JMS学习(一)

發(fā)布時(shí)間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JMS学习(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)自:https://blog.csdn.net/jiuqiyuliang/article/details/46701559

1.基本概念

JMS是java的消息服務(wù),JMS的客戶端之間可以通過(guò)JMS服務(wù)進(jìn)行異步的消息傳輸。

2.消息模型

P2P

Pub/Sub

3.P2P

  模式:

  • 消息隊(duì)列(Queue)
  • 發(fā)送者(Sender)
  • 接收者(Receiver)
  • 每個(gè)消息都被發(fā)送到一個(gè)特定的隊(duì)列,接收者從隊(duì)列中獲取消息。隊(duì)列保留著消息,直到他們被消費(fèi)或超時(shí)。
  • ?  特點(diǎn)

  • 每個(gè)消息只有一個(gè)消費(fèi)者(Consumer)(即一旦被消費(fèi),消息就不再在消息隊(duì)列中)
  • 發(fā)送者和接收者之間在時(shí)間上沒有依賴性,也就是說(shuō)當(dāng)發(fā)送者發(fā)送了消息之后,不管接收者有沒有正在運(yùn)行,它不會(huì)影響到消息被發(fā)送到隊(duì)列
  • 接收者在成功接收消息之后需向隊(duì)列應(yīng)答成功
  • 4.Pub/Sub

     模式圖

  • 主題(Topic)
  • 發(fā)布者(Publisher)
  • 訂閱者(Subscriber)
    客戶端將消息發(fā)送到主題。多個(gè)發(fā)布者將消息發(fā)送到Topic,系統(tǒng)將這些消息傳遞給多個(gè)訂閱者。
  •   特點(diǎn):

  • 每個(gè)消息可以有多個(gè)消費(fèi)者
  • 發(fā)布者和訂閱者之間有時(shí)間上的依賴性。針對(duì)某個(gè)主題(Topic)的訂閱者,它必須創(chuàng)建一個(gè)訂閱者之后,才能消費(fèi)發(fā)布者的消息,而且為了消費(fèi)消息,訂閱者必須保持運(yùn)行的狀態(tài)。
  • 為了緩和這樣嚴(yán)格的時(shí)間相關(guān)性,JMS允許訂閱者創(chuàng)建一個(gè)可持久化的訂閱。這樣,即使訂閱者沒有被激活(運(yùn)行),它也能接收到發(fā)布者的消息。
  • 5.JMS編程模型

      1.ConnectionFactory:創(chuàng)建connection的工廠,針對(duì)兩種不同的消息模型,有QueueConnectionFactory和TopicConnectionFactory

      2.Destination:對(duì)于生產(chǎn)者來(lái)說(shuō)它的destination是某個(gè)queue或topic;對(duì)于消費(fèi)者來(lái)說(shuō)它的destination也是

      3.Connection:表示在客戶端和JMS系統(tǒng)之間建立的連接(對(duì)TCP/IP socket的包裝);connection可以產(chǎn)生多個(gè)session;connection有QueueConnection和TopicConnection兩種

      4.session:操作消息的接口,可通過(guò)session創(chuàng)建生產(chǎn)者/消費(fèi)者/消息等;session 提供了事物的功能;當(dāng)我們要使用session發(fā)送/接收多個(gè)消息時(shí),可將這些動(dòng)作放到一個(gè)事物中;有QueueSession和TopicQueue兩種

      5.消息的生產(chǎn)者:消息生產(chǎn)者由Session創(chuàng)建,并用于將消息發(fā)送到Destination。同樣,消息生產(chǎn)者分兩種類型:QueueSender和TopicPublisher。可以調(diào)用消息生產(chǎn)者的方法(send或publish方法)發(fā)送消息。

      6.消息的消費(fèi)者:消息消費(fèi)者由Session創(chuàng)建,用于接收被發(fā)送到Destination的消息。兩種類型:QueueReceiver和TopicSubscriber。可分別通過(guò)session的createReceiver(Queue)或createSubscriber(Topic)來(lái)創(chuàng)建。當(dāng)然,也可以session的creatDurableSubscriber方法來(lái)創(chuàng)建持久化的訂閱者。

      7.MessageListener:消息監(jiān)聽器。如果注冊(cè)了消息監(jiān)聽器,一旦消息到達(dá),將自動(dòng)調(diào)用監(jiān)聽器的onMessage方法

    6.好處

      1.提供消息靈活性

      2.松散耦合

      3.異步性

    轉(zhuǎn)載于:https://www.cnblogs.com/hangzhi/p/9008433.html

    總結(jié)

    以上是生活随笔為你收集整理的JMS学习(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。