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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

JMS笔记(一)

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

1.jms概念

Java Message Service為 Java程序提供一種訪問企業消息系統的方法,JMS應用由JMS生產者、JMS Provider、JMS消費者構成

1.1. 一條Message 的組成

(1) 頭(head)

每條JMS 消息都必須具有消息頭。頭字段包含用于路由和識別消息的值。可以通過多種方式來設置消息頭的值:

a. 由JMS 提供者在生成或傳送消息的過程中自動設置

b. 由生產者客戶機通過在創建消息生產者時指定的設置進行設置

c. 由生產者客戶機逐一對各條消息進行設置

?

(2) 屬性(property)

消息可以包含稱作屬性的可選頭字段。他們是以屬性名和屬性值對的形式制定的。可以將屬性是為消息頭得擴展,其中可以包括如下信息:創建數據的進程、數據的創建時間以及每條數據的結構。JMS提供者也可以添加影響消息處理的屬性,如是否應壓縮消息或如何在消息生命周期結束時廢棄消息。

?

(3) 主體(body)

包含要發送給接收應用程序的內容。每個消息接口特定于它所支持的內容類型。JMS為不同類型的內容提供了他們各自的消息類型,但是所有消息都派生自Message接口。

StreamMessage ? 一種主體中包含Java基元值流的消息。其填充和讀取均按順序進行。

MapMessage ?? ?一種主體中包含一組鍵--值對的消息。沒有定義條目順序。

TextMessage ? ? ? 一種主體中包含Java字符串的消息(例如,XML消息)。

ObjectMessage ? ?一種主體中包含序列化Java對象的消息。

BytesMessage ? ? 一種主體中包含連續字節流的消息。

1.2. 消息傳遞模型

?JMS支持兩種消息傳遞模型:點對點(point-to-point,簡稱P2P)和發布/訂閱(publish/subscribe,簡稱pub/sub)?

P2P特點:

(1)每個消息只有一個消費者(Consumer)(即一旦被消費,消息就不再在消息隊列中)

(2)發送者和接收者之間在時間上沒有依賴性,也就是說當發送者發送了消息之后,不管接收者有沒有正在運行,它不會影響到消息被發送到隊列

(3)接收者在成功接收消息之后需向隊列應答成功

Pub/Sub的特點

(1)每個消息可以有多個消費者

(2)發布者和訂閱者之間有時間上的依賴性。針對某個主題(Topic)的訂閱者,它必須創建一個訂閱者之后,才能消費發布者的消息,而且為了消費消息,訂閱者必須保持運行的狀態。

(3)為了緩和這樣嚴格的時間相關性,JMS允許訂閱者創建一個可持久化的訂閱。這樣,即使訂閱者沒有被激活(運行),它也能接收到發布者的消息。

2. 安裝ActiveMQ

ibm的websphere mq提供了90天的試用版,雖然項目中使用的是websphere mq,但我沒有仔細研究過,本機玩玩還是選擇了ActiveMQ

去http://activemq.apache.org/activemq-5130-release.html?下載5.13.0,我用的windows系統,解壓進入主目錄bin下,運行activemq.bat就行了,如果控制臺出現java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0 這樣的錯誤,就是jdk版本的問題,官網提供的jar使用Build-Jdk: 1.7.0_80編譯,你的jdk低了,簡單的辦法安裝jdk1.7,設置主目錄環境變量

?

后面會介紹activemq的使用。。。

?

?

轉載于:https://www.cnblogs.com/yhzh/p/5099132.html

總結

以上是生活随笔為你收集整理的JMS笔记(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

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