使用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设计一个经典小游戏
May 15 Python
MAC中PyCharm设置python3解释器
Dec 15 Python
快速查询Python文档方法分享
Dec 27 Python
利用Python求阴影部分的面积实例代码
Dec 05 Python
Python 多线程不加锁分块读取文件的方法
Dec 11 Python
快速解决docker-py api版本不兼容的问题
Aug 30 Python
PHP统计代码行数的小代码
Sep 19 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
Jan 04 Python
python函数中将变量名转换成字符串实例
May 11 Python
Keras实现将两个模型连接到一起
May 23 Python
tensorflow图像裁剪进行数据增强操作
Jun 30 Python
python实现简单的名片管理系统
Apr 26 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中全局变量global的使用演示代码
2011/05/18 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
php实现文件下载更能介绍
2012/11/23 PHP
PHP中设置时区,记录日志文件的实现代码
2013/01/07 PHP
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
php获取文件后缀的9种方法
2016/03/22 PHP
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
基于jquery实现漂亮的动态信息提示效果
2011/08/02 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
2015/07/10 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
python 使用get_argument获取url query参数
2017/04/28 Python
python并发2之使用asyncio处理并发
2017/12/21 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
python将字符串转换成json的方法小结
2019/07/09 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
.net开发工程师面试题
2014/02/25 面试题
大四学年自我鉴定
2013/11/13 职场文书
研修第一天随笔感言
2014/02/15 职场文书
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
领导干部考核评语
2015/01/04 职场文书
机动车交通事故协议书
2015/01/29 职场文书