python 通過stomp操作ActiveMQ

2022-07-13 14:57:16 字數 1852 閱讀 1591

最近用到了這個,記錄一下。

python通過stomp協議與activemq通訊。

首先要確認下activemq是否開啟了stomp服務(預設是開啟的):

埠號預設為:61613

傳送與接收訊息:

1

class

mylistener(object):23

def__init__

(self, conn):

4 self.conn =conn56

defon_error(self, headers, message):

7print

'$$$ received an error: %s from mq

' %message89

defon_message(self, headers, message):

10print

'$$$ received a message: %s from mq

' %message11#

print headers

12 self.conn.ack(id=headers['

message-id

'], subscription=headers['

subscription

']) #

消費訊息記錄

1314

prepare_folder()

15self.write_record(config_file, message)

1617

defmessagequeue_invoker():

18 dest = '

/queue/testpysoider'19

#logging.basicconfig()

2021 conn = stomp.connection([('

127.0.0.1

', 61613)])

22 conn.set_listener('', mylistener(conn)) #

註冊訊息監聽者

23conn.start()

24 conn.connect(username='

admin

', passcode='

admin

', wait=true, headers=)

25 conn.send(destination=dest, body='

i am a test message.

', headers=) #

傳送訊息

26print

"$$$ send one message"27

28 conn.subscribe(destination=dest, id=123, ack='

client

') #

開始監聽接收訊息

29print

'start to receive message......'30

while

true:

31try

:32 time.sleep(1)

33except:34

break

由於python各種庫的版本變化較快,呼叫引數與方式可能有變化。之前在網上找資料就發現好多有不能執行。

可以通過檢視源**以及注釋的方法校準方法呼叫方式(引數列表);

通過列印傳入引數檢視監聽方法的使用以及消費訊息記錄的呼叫方式。

技巧很弱,僅作總結。

歡迎大神指教。

通過python簡單操作MySQL

pip install pymysql開始操作前需要匯入乙個包 import mysqldb用mysqldb中的connect 函式連線對應的資料庫 連線資料庫 conn mysqldb.connect host localhost mysql的ip port 3306,預設埠3306 user r...

通過Python的JIRA庫操作JIRA

本文出自天外歸雲的 需要安裝jira庫 pip install jira 產品需求文件位址 http xx.cn 視覺設計文件位址 http xx.cn 開發介面文件位址 http xx.cn 測試配置文件位址 http xx.cn 指令碼如下 coding utf 8 from jira impo...

Python 通過List 實現佇列的操作

佇列與棧資料結構是使用頻率較高的技術知識,今天與大家一起分享python如何用list 來實現佇列操作。佇列是什麼 python 實現 class queue def init self self.alist defpush self,value self.alist.insert 0,value ...