使用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使用mailbox打印电子邮件的方法
Apr 30 Python
在Django的session中使用User对象的方法
Jul 23 Python
python3 模拟登录v2ex实例讲解
Jul 13 Python
python+opencv实现动态物体追踪
Jan 09 Python
python简单实现操作Mysql数据库
Jan 29 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
Nov 30 Python
python重试装饰器的简单实现方法
Jan 31 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
Sep 02 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
Jun 23 Python
python rsa-oaep加密的示例代码
Sep 23 Python
python更新数据库中某个字段的数据(方法详解)
Nov 18 Python
使用python将微信image下.dat文件解密为.png的方法
Nov 30 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 第二节 数据类型之转换
2012/04/28 PHP
PHP编程获取各个时间段具体时间的方法
2017/05/26 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
Laravel find in set排序实例
2019/10/09 PHP
自写简单JS判断是否已经弹出页面
2010/10/20 Javascript
jQuery代码优化 事件委托篇
2011/11/01 Javascript
js实现的点击div区域外隐藏div区域
2014/06/30 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
js实现鼠标滑过文字链接色彩变化的效果
2015/05/06 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
2016/06/12 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
vue2使用keep-alive缓存多层列表页的方法
2018/09/21 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
Python中logging模块的用法实例
2014/09/29 Python
优化Python代码使其加快作用域内的查找
2015/03/30 Python
python3中bytes和string之间的互相转换
2017/02/09 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
深入了解Python枚举类型的相关知识
2019/07/09 Python
Django REST framwork的权限验证实例
2020/04/02 Python
python的help函数如何使用
2020/06/11 Python
使用Python提取文本中含有特定字符串的方法示例
2020/12/09 Python
Python中的流程控制详解
2021/02/18 Python
土建专业大学生自荐信范文
2014/04/09 职场文书
2014年党课学习材料
2014/05/11 职场文书
企业诚信承诺书
2014/05/23 职场文书
大学生志愿者活动总结
2014/06/27 职场文书
地震慰问信
2015/02/14 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
2015少先队大队辅导员工作总结
2015/07/24 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP
深入浅析Redis 集群伸缩原理
2021/05/15 Redis