使用Python的Zato發(fā)送AMQP消息的教程
本 幫助主題 展示了使用Zato發(fā)送AMQP消息 所 需的內(nèi)容. Zato 基于Python 的 為 SOA 、 云 集成 和 后端 服務 的 企業(yè)服務總線(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ā)送第一個消息之前,你必須讓Zato知道要把消息發(fā)送到哪兒,因為默認情況下Zato支持分離生成消息的服務和消息送達的實際的目的地。
在你的代碼里,你只是調(diào)用了單個.send方法,不需要真正地指定特定的URL或者憑證,消息過期時間,內(nèi)容類型等等。你可以指定這些,不過你不需要。
這一切都通過連接定義和真正的連接來實現(xiàn)的。連接定義是一個說明連接到AMQP代理的所需要的詳細信息的模板-代理的網(wǎng)絡地址,虛擬主機名,用戶名/密碼以及類似的東西。每個連接定義可以用來創(chuàng)建一個或者多個處理要發(fā)送消息的細節(jié)-消息優(yōu)先權(quán),分發(fā)模式以及其他這個消息信息的連接。
這兩種對象類型可以使用Zato的圖形界面創(chuàng)建,也可以通過其它方法如enmasse或者API創(chuàng)建
圖形界面
首先創(chuàng)建一個連接定義,然后用它來創(chuàng)建一個對外連接,就像下圖所示:
總而言之,創(chuàng)建一個新連接和寫一段前面所示的代碼后,就可以熱部署來發(fā)送AMQP消息了。
其它方式的配置
相反,或者說另外,使用enmasse工具和API同樣可以創(chuàng)建,列出,更新或者刪除AMQP連接。并不僅僅局限于圖形界面方式。
更多使用示例
相關(guān)文章
django 多對多表的創(chuàng)建和插入代碼實現(xiàn)
這篇文章主要介紹了django-多對多表的創(chuàng)建和插入代碼實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09Python TCP全連接攻擊中SockStress全連接攻擊詳解
Sock Stress 全連接攻擊屬于TCP全連接攻擊,因為需要建立一次完整的TCP三次握手,該攻擊的關(guān)鍵點就在于,攻擊主機將windows窗口緩沖設置為0,實現(xiàn)的拒絕服務2022-10-10