activemq整合springboot使用(個人微信小程式用)

来源:https://www.cnblogs.com/zhangsansan/archive/2019/03/25/10597569.html
-Advertisement-
Play Games

1.引入依賴 org.springframework.boot spring boot starter parent 1.5.3.RELEASE <! lookup parent from repository org.springframework.boot spring boot starter ...


1.引入依賴

<parent>
<groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.3.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-activemq</artifactId>
</dependency>

2.修改配置文件(其實配置也是預設值,不配置也可以)

spring.activemq.in-memory=true
spring.activemq.pool.enabled=false

3.添加ActiveMq連接池(如果不開啟連接池,則每發送一條數據創建一個連接)

①.添加依賴
<dependency>
     <groupId>org.apache.activemq</groupId>
     <artifactId>activemq-pool</artifactId>
</dependency>
②.修改配置文件
#服務埠,8080被另一服務占用
server.port=9090
spring.activemq.broker-url=tcp://127.0.0.1:61616
# 在考慮結束之前等待的時間
#spring.activemq.close-timeout=15s
# 預設代理URL是否應該在記憶體中。如果指定了顯式代理,則忽略此值。
spring.activemq.in-memory=true 
# 是否在回滾回滾消息之前停止消息傳遞。這意味著當啟用此命令時,消息順序不會被保留。
spring.activemq.non-blocking-redelivery=false
# 等待消息發送響應的時間。設置為0等待永遠。
spring.activemq.send-timeout=0
#預設情況下activemq提供的是queue模式,若要使用topic模式需要配置下麵配置
spring.jms.pub-sub-domain=true
#賬號
spring.activemq.user=admin
# 密碼
spring.activemq.password=admin
# 是否信任所有包
#spring.activemq.packages.trust-all=
# 要信任的特定包的逗號分隔列表(當不信任所有包時)
#spring.activemq.packages.trusted=
# 當連接請求和池滿時是否阻塞。設置false會拋“JMSException異常”。
#spring.activemq.pool.block-if-full=true
# 如果池仍然滿,則在拋出異常前阻塞時間。
#spring.activemq.pool.block-if-full-timeout=-1ms
# 是否在啟動時創建連接。可以在啟動時用於加熱池。
#spring.activemq.pool.create-connection-on-startup=true
# 是否用Pooledconnectionfactory代替普通的ConnectionFactory。
#spring.activemq.pool.enabled=false
# 連接過期超時。
#spring.activemq.pool.expiry-timeout=0ms
# 連接空閑超時
#spring.activemq.pool.idle-timeout=30s
# 連接池最大連接數
#spring.activemq.pool.max-connections=1
# 每個連接的有效會話的最大數目。
#spring.activemq.pool.maximum-active-session-per-connection=500
# 當有"JMSException"時嘗試重新連接
#spring.activemq.pool.reconnect-on-exception=true
# 在空閑連接清除線程之間運行的時間。當為負數時,沒有空閑連接驅逐線程運行。
#spring.activemq.pool.time-between-expiration-check=-1ms
# 是否只使用一個MessageProducer
#spring.activemq.pool.use-anonymous-producers=true

4.添加JMS相關配置

①.開啟JMS掃描註解:@EnableJms 相當於application.xml中的<jms:annotation-d riven/>
②.配置Queue類:
@Bean
public Queue queue() {
    return new ActiveMQQueue("queueName1");
}
③.創建生產者:
@Resource
JmsMessagingTemplate jmsMessagingTemplate;
public void sendMessage(Destination destination, String message) {
    jmsMessagingTemplate.convertAndSend(destination, message);
}
④.創建消費者:
@JmsListener(destination = "queueName1")
public void receiveQueue(String message) {
    log.info("=========接受到了消息:" + message);
    grabService.addSearchContent(message, mainConfig.getCharset());
}

ps:@JmsListener(destination = "queueName1")註解用於監聽指定名稱的消息
參數message代表具體的消息


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、程式設計思路 在我的三次作業中都採用了類的分層結構,採用逐項匹配,分層求導的思路。 (一)、 第一次作業中構建了Polynimial(多項式)類,在類的構造器中就完成了對非法空格的判斷並對合法表達式進行刪除空格處理。由於第一次作業僅含有帶有繫數的冪函數與常數項,因而我就沒有專門構建針對每一個項的 ...
  • 基本概述: int double char; 定義一個學生類型 int Student 姓名 性別 年齡 簡單地說 結構體是一個可以包含不同類型的結構,他是一個自定義的類型。 struct 結構體標識符{成員變數;}; struct 是系統關鍵字,用來說明當前定義了一個自定義類型 結構體標識符 為了 ...
  • java鎖 1.樂觀鎖 2.悲觀鎖 3.自旋鎖 4.Synchronized同步鎖 synchronized 它可以把任意一個非 NULL 的對象當作鎖。他屬於獨占式的悲觀鎖,同時屬於可重入鎖。 Synchronized 作用範圍 Synchronized 核心組件 Synchronized實現 5 ...
  • ————看,他已經敲了三次OO作業,精神仍然很好 1. 類的設計反思 筆者三次OO作業,每次都為如何設計類與類間關係而頭痛,回顧三次痛苦經歷,總結出如下原因: 分類不是源於需求而是拘泥於問題的錶面形式。 以第二、三次作業為例,我們將多項式拆分為單項式,繼而拆分為因數,卻難以給出如此拆分的理由。當我們 ...
  • Turtle庫的建立——漢諾塔 1、首先是要用遞歸方法來完成這個漢諾塔法則 2、其次,就要編程好代碼以及熟練掌握Turtle函數庫 一、 相關代碼如下: (盤子最多19個) 二、 試驗結果如下: 三、 實驗說明: 我們可以更改代碼(drawpole_1)這個函數中的 第一個t.goto中400可改為 ...
  • 最近a演算法題的時候碰到一道題:一個數列前三項都為1,之後每項的值等於前三項之和,求第20193024項的最後4位數字。一開始寫的代碼如下: 結果一直爆 Terminated due to signal: SEGMENTATION FAULT (11) 這個錯誤,改了好久沒改出來。之後在stackov ...
  • 什麼是進程 進程是一個可執行的應用程式,任何進程都有一個主線程作為入口,是線程的集合 什麼是多線程 多線程可以提高效率,我們在電腦操作的時候,開多個視窗,並不是多線程併發,是cpu在切換,只不過速度很快,我們感覺不到,多線程是在同一個時刻同時進行 為什麼要使用多線程? 假設你有100桶水,你一個小時 ...
  • 一、實驗目的 熟悉c語言集成開發環境 掌握c程式結構,熟悉c程式編碼規範 掌握c程式編寫、編譯、運行、調試方法 掌握基本數據類型、常量、變數的使用 掌握常用運算符用法,掌握表達式求值規則 二、實驗準備 實驗前,請圍繞以下內容複習教材第1章、第2章相關內容: 1. 一個完整的c程式結構和書寫規範(教材 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...