本 幫助主題 展示了使用Zato發送AMQP消息 所 需的內容. Zato 基于Python 的 為 SOA 、 云 集成 和 后端 服務 的 企業服務總線(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)
理解連接定義和連接
在發送第一個消息之前,你必須讓Zato知道要把消息發送到哪兒,因為默認情況下Zato支持分離生成消息的服務和消息送達的實際的目的地。
在你的代碼里,你只是調用了單個.send方法,不需要真正地指定特定的URL或者憑證,消息過期時間,內容類型等等。你可以指定這些,不過你不需要。
這一切都通過連接定義和真正的連接來實現的。連接定義是一個說明連接到AMQP代理的所需要的詳細信息的模板-代理的網絡地址,虛擬主機名,用戶名/密碼以及類似的東西。每個連接定義可以用來創建一個或者多個處理要發送消息的細節-消息優先權,分發模式以及其他這個消息信息的連接。
這兩種對象類型可以使用Zato的圖形界面創建,也可以通過其它方法如enmasse或者API創建
?圖形界面
首先創建一個連接定義,然后用它來創建一個對外連接,就像下圖所示:?
?總而言之,創建一個新連接和寫一段前面所示的代碼后,就可以熱部署來發送AMQP消息了。
其它方式的配置
相反,或者說另外,使用enmasse工具和API同樣可以創建,列出,更新或者刪除AMQP連接。并不僅僅局限于圖形界面方式。
更多使用示例
請瀏覽全部API,以及更多AMQP使用示例請查看這里。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
