今天在專案中使用rabbitmq的時候,由於是在老專案中新引入mq,所以遇到了一些問題,於是把這次使用經歷記錄下來。
因為專案比較老,檢視spring版本居然是3.2.3版本,可以說相當老了,按照網上的帖子新增有關rabbitmq的依賴時就遇到乙個問題:
錯誤資訊:
org/springframework/util/backoff/backoff的錯誤這個錯誤便是因為引入的rabbitmq的版本太高,與spring不匹配,所以在這裡要修改rabbitmq的版本
org.springframework.amqp
spring-rabbit
1.3.5.release
新增了依賴之後,需要編寫spring-rabbitmq的整合的配置檔案:
完成了xml檔案的編寫,此處要注意把配置檔案新增到專案啟動配置中,一般這個檔案放在resource資料夾下,而resource資料夾一般在專案搭建時便被整個都引入,用作配置檔案。
配置好之後,進入rabbitmq的使用,以消費者為例,在消費時要獲取佇列連線,來拉取訊息進行消費,由於這裡使用***進行消費訊息,所以直接編寫***,***要實現messagelistener介面,重寫其包含的onmessage方法,使用message.getbody方法來獲取訊息體。
這裡加乙個事務的註解是因為下面有對資料庫的操作,為了保證一致性,借助事務來進行管理,訊息體獲得後是乙個string型別的資料,並無法直接操作(因為一般生產者會把dto直接傳送),所以要將資料進行轉換,這裡借助反射的原理,編寫了乙個方法:
通過以上方法,便可以將資料轉換為dto物件,最後就是訊息的處理工作了。
在開發中規範使用log日誌列印,可以準確定位問題所在
有關python的經歷
1 不能命名為 abc.py 不然會無法啟動,因為有個檔案就是abc.py 會產生這樣的錯誤 fatal python error py initialize can t initialize sys standard streams 見2 關於在pychaim import os的問題 見 新增 ...
有關硬體工作經歷的話題
要講自己的工作,硬體是繞不開的話題。要回顧自己的工作經歷,滿腦子想到的都是跟電路板有關的,讓你欲罷不能。現在要想重新操起畫板的活,心理已怕怕的,嘿嘿。從畢業進入一家國企,進入公司被研發女老總帶過去轉一圈介紹,然後就只記得她說了句 你們兩個做硬體吧!和我一起來的校友就這麼進了硬體部,硬體部老大是技術牛...
rabbitmq簡單使用
安裝rabbitmq,進入sbin執行rabbitmq service start 傳送者 package com.zhy.rabbit.01 import com.rabbitmq.client.channel import com.rabbitmq.client.connection impor...