使用Python的Zato發(fā)送AMQP消息的教程
本 幫助主題 展示了使用Zato發(fā)送AMQP消息 所 需的內(nèi)容. Zato 基于Python 的 為 SOA 、 云 集成 和 后端 服務(wù) 的 企業(yè)服務(wù)總線(ESB) 。
代碼演示
下面是一些需要的代碼:
from zato.server.service import Service
class MyService(Service):
def handle(self):
msg = 'My message'
conn_name = 'My CRM connection'
exchange_name = 'My exchange'
routing_key = ''
self.outgoing.amqp.send(msg, conn_name, exchange_name, routing_key)
理解連接定義和連接
在發(fā)送第一個(gè)消息之前,你必須讓Zato知道要把消息發(fā)送到哪兒,因?yàn)槟J(rèn)情況下Zato支持分離生成消息的服務(wù)和消息送達(dá)的實(shí)際的目的地。
在你的代碼里,你只是調(diào)用了單個(gè).send方法,不需要真正地指定特定的URL或者憑證,消息過期時(shí)間,內(nèi)容類型等等。你可以指定這些,不過你不需要。
這一切都通過連接定義和真正的連接來實(shí)現(xiàn)的。連接定義是一個(gè)說明連接到AMQP代理的所需要的詳細(xì)信息的模板-代理的網(wǎng)絡(luò)地址,虛擬主機(jī)名,用戶名/密碼以及類似的東西。每個(gè)連接定義可以用來創(chuàng)建一個(gè)或者多個(gè)處理要發(fā)送消息的細(xì)節(jié)-消息優(yōu)先權(quán),分發(fā)模式以及其他這個(gè)消息信息的連接。
這兩種對象類型可以使用Zato的圖形界面創(chuàng)建,也可以通過其它方法如enmasse或者API創(chuàng)建
圖形界面
首先創(chuàng)建一個(gè)連接定義,然后用它來創(chuàng)建一個(gè)對外連接,就像下圖所示:
總而言之,創(chuàng)建一個(gè)新連接和寫一段前面所示的代碼后,就可以熱部署來發(fā)送AMQP消息了。
其它方式的配置
相反,或者說另外,使用enmasse工具和API同樣可以創(chuàng)建,列出,更新或者刪除AMQP連接。并不僅僅局限于圖形界面方式。
更多使用示例
相關(guān)文章
python中的logging模塊的簡單應(yīng)用和高級使用
在?Python?中,可以使用內(nèi)置的?logging?模塊來記錄應(yīng)用程序的信息,logging?模塊還提供了一些高級功能,如日志回溯、日志輪換、日志緩沖等,需要的朋友可以參考下2023-04-04django 多對多表的創(chuàng)建和插入代碼實(shí)現(xiàn)
這篇文章主要介紹了django-多對多表的創(chuàng)建和插入代碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09Python TCP全連接攻擊中SockStress全連接攻擊詳解
Sock Stress 全連接攻擊屬于TCP全連接攻擊,因?yàn)樾枰⒁淮瓮暾腡CP三次握手,該攻擊的關(guān)鍵點(diǎn)就在于,攻擊主機(jī)將windows窗口緩沖設(shè)置為0,實(shí)現(xiàn)的拒絕服務(wù)2022-10-10matplotlib實(shí)現(xiàn)區(qū)域顏色填充
這篇文章主要為大家詳細(xì)介紹了matplotlib實(shí)現(xiàn)區(qū)域顏色填充,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03