python 發(fā)送和接收ActiveMQ消息的實(shí)例
ActiveMQ是java開(kāi)發(fā)的消息中間件服務(wù)??梢灾С侄喾N協(xié)議(AMQP,MQTT,OpenWire,Stomp),默認(rèn)的是OpenWire。而python與ActiveMQ的通信使用的是Stomp協(xié)議。而如果你的服務(wù)沒(méi)有開(kāi)啟則需要配置開(kāi)啟。
首先需要安裝python的stomp庫(kù)。
命令如下:
pip install stomp.py
接著,就是上代碼了具體如下:
# -*-coding:utf-8-*-
import stomp
import time
queue_name = '/queue/SampleQueue'
topic_name = '/topic/SampleTopic'
listener_name = 'SampleListener'
class SampleListener(object):
def on_message(self, headers, message):
print 'headers: %s' % headers
print 'message: %s' % message
# 推送到隊(duì)列queue
def send_to_queue(msg):
conn = stomp.Connection10([('127.0.0.1',61613)])
conn.start()
conn.connect()
conn.send(queue_name, msg)
conn.disconnect()
#推送到主題
def send_to_topic(msg):
conn = stomp.Connection10([('127.0.0.1',61613)])
conn.start()
conn.connect()
conn.send(topic_name, msg)
conn.disconnect()
##從隊(duì)列接收消息
def receive_from_queue():
conn = stomp.Connection10([('127.0.0.1',61613)])
conn.set_listener(listener_name, SampleListener())
conn.start()
conn.connect()
conn.subscribe(queue_name)
time.sleep(1) # secs
conn.disconnect()
##從主題接收消息
def receive_from_topic():
conn = stomp.Connection10([('127.0.0.1',61613)])
conn.set_listener(listener_name, SampleListener())
conn.start()
conn.connect()
conn.subscribe(topic_name)
while 1:
send_to_topic('topic')
time.sleep(3) # secs
conn.disconnect()
if __name__=='__main__':
# send_to_queue('len 123')
# receive_from_queue()
receive_from_topic()
但是上述只是發(fā)送文本類型的消息,除此之外,ActiveMQ還支持MapMessage、ObjectMessage、BytesMessage、和StreamMessage等多個(gè)消息類型。
以上這篇python 發(fā)送和接收ActiveMQ消息的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python如何實(shí)現(xiàn)大型數(shù)組運(yùn)算(使用NumPy)
- python3通過(guò)udp實(shí)現(xiàn)組播數(shù)據(jù)的發(fā)送和接收操作
- Python udp網(wǎng)絡(luò)程序?qū)崿F(xiàn)發(fā)送、接收數(shù)據(jù)功能示例
- Python 網(wǎng)絡(luò)編程之UDP發(fā)送接收數(shù)據(jù)功能示例【基于socket套接字】
- python UDP(udp)協(xié)議發(fā)送和接收的實(shí)例
- Python微信企業(yè)號(hào)開(kāi)發(fā)之回調(diào)模式接收微信端客戶端發(fā)送消息及被動(dòng)返回消息示例
- python通過(guò)get,post方式發(fā)送http請(qǐng)求和接收http響應(yīng)的方法
- Python中使用socket發(fā)送HTTP請(qǐng)求數(shù)據(jù)接收不完整問(wèn)題解決方法
- python發(fā)送郵件接收郵件示例分享
- Python如何發(fā)送與接收大型數(shù)組
相關(guān)文章
pytorch masked_fill報(bào)錯(cuò)的解決
今天小編就為大家分享一篇pytorch masked_fill報(bào)錯(cuò)的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
flask?route對(duì)協(xié)議作用及設(shè)計(jì)思路
這篇文章主要為大家介紹了flask?route對(duì)協(xié)議作用及設(shè)計(jì)思路詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
在Python中利用Into包整潔地進(jìn)行數(shù)據(jù)遷移的教程
這篇文章主要介紹了在Python中如何利用Into包整潔地進(jìn)行數(shù)據(jù)遷移,在數(shù)據(jù)格式的任意兩個(gè)格式之間高效地遷移數(shù)據(jù),需要的朋友可以參考下2015-03-03
Python編程語(yǔ)言的35個(gè)與眾不同之處(語(yǔ)言特征和使用技巧)
這篇文章主要介紹了Python編程語(yǔ)言的35個(gè)與眾不同之處,Python編程語(yǔ)言的語(yǔ)言特征和使用技巧,需要的朋友可以參考下2014-07-07
python連接、操作mongodb數(shù)據(jù)庫(kù)的方法實(shí)例詳解
這篇文章主要介紹了python連接、操作mongodb數(shù)據(jù)庫(kù)的方法,結(jié)合實(shí)例形式詳細(xì)分析了Python針對(duì)MongoDB數(shù)據(jù)庫(kù)的連接、查詢、排序等相關(guān)操作技巧,需要的朋友可以參考下2019-09-09
極簡(jiǎn)Python庫(kù)CherryPy構(gòu)建高性能Web應(yīng)用實(shí)例探索
今天為大家介紹的是 CherryPy,它是一個(gè)極簡(jiǎn)、穩(wěn)定且功能強(qiáng)大的Web框架,可以幫助開(kāi)發(fā)者快速構(gòu)建高性能的 Web 應(yīng)用程序,使用 CherryPy,你可以輕松地創(chuàng)建RESTful API、靜態(tài)網(wǎng)站、異步任務(wù)和 WebSocket 等應(yīng)用2024-01-01

