使用Python的Zato发送AMQP消息的教程


Posted in Python onApril 16, 2015

本 帮助主题 展示了使用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创建

使用Python的Zato发送AMQP消息的教程

 图形界面

首先创建一个连接定义,然后用它来创建一个对外连接,就像下图所示: 

使用Python的Zato发送AMQP消息的教程使用Python的Zato发送AMQP消息的教程

使用Python的Zato发送AMQP消息的教程使用Python的Zato发送AMQP消息的教程 总而言之,创建一个新连接和写一段前面所示的代码后,就可以热部署来发送AMQP消息了。
其它方式的配置

相反,或者说另外,使用enmasse工具和API同样可以创建,列出,更新或者删除AMQP连接。并不仅仅局限于图形界面方式。
更多使用示例

请浏览全部API,以及更多AMQP使用示例请查看这里。

Python 相关文章推荐
浅谈Python程序与C++程序的联合使用
Apr 07 Python
Python的time模块中的常用方法整理
Jun 18 Python
深入理解Python单元测试unittest的使用示例
Nov 18 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
Apr 11 Python
Python continue继续循环用法总结
Jun 10 Python
Python2和Python3的共存和切换使用
Apr 12 Python
django的分页器Paginator 从django中导入类
Jul 25 Python
django admin 自定义替换change页面模板的方法
Aug 23 Python
Python使用pymysql模块操作mysql增删改查实例分析
Dec 19 Python
Python识别处理照片中的条形码
Nov 16 Python
python代码实现图书管理系统
Nov 30 Python
Python编写车票订购系统 Python实现快递收费系统
Aug 14 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
Apr 16 #Python
使用Python编写一个简单的tic-tac-toe游戏的教程
Apr 16 #Python
Python基于scrapy采集数据时使用代理服务器的方法
Apr 16 #Python
在Python的gevent框架下执行异步的Solr查询的教程
Apr 16 #Python
使用Python的Treq on Twisted来进行HTTP压力测试
Apr 16 #Python
Python3中多线程编程的队列运作示例
Apr 16 #Python
使用Python脚本操作MongoDB的教程
Apr 16 #Python
You might like
PHP+MYSQL开发工具及资源收藏
2007/01/02 PHP
PHP5 的对象赋值机制介绍
2011/08/02 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
创建一个复制UBB软件信息的链接或按钮的js代码
2008/01/06 Javascript
非主流的textarea自增长实现js代码
2011/12/20 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
jQuery/CSS3图片特效插件整理推荐
2014/12/07 Javascript
轻松创建nodejs服务器(10):处理POST请求
2014/12/18 NodeJs
javascript实现英文首字母大写
2015/04/23 Javascript
vue.js利用Object.defineProperty实现双向绑定
2017/03/09 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
一文了解vue-router之hash模式和history模式
2019/05/31 Javascript
jQuery中DOM常见操作实例小结
2019/08/01 jQuery
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
python之wxPython应用实例
2014/09/28 Python
在Heroku云平台上部署Python的Django框架的教程
2015/04/20 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
详解python中@的用法
2019/03/27 Python
python如何处理程序无法打开
2020/06/16 Python
html5启动原生APP总结
2020/07/03 HTML / CSS
Luxplus丹麦:香水和个人护理折扣
2018/04/23 全球购物
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
2014年行政部工作总结
2014/11/19 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
2019年度政务公开考核工作总结模板
2019/11/11 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
使用ORM新增数据在Mysql中的操作步骤
2021/07/26 MySQL
利用Python读取微信朋友圈的多种方法总结
2021/08/23 Python
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫
Redis实现短信验证码登录的示例代码
2022/06/14 Redis
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript