python 发送和接收ActiveMQ消息的实例

ActiveMQ是java开发的消息中间件服务。可以支持多种协议(AMQP,MQTT,OpenWire,Stomp),默认的是OpenWire。而python与ActiveMQ的通信使用的是Stomp协议。而如果你的服务没有开启则需要配置开启。

首先需要安装python的stomp库。

命令如下:

pip install stomp.py

接着,就是上代码了具体如下:

# -*-coding:utf-8-*-
import stomp
import time

queue_name = '/queue/SampleQueue'
topic_name = '/topic/SampleTopic'
listener_name = 'SampleListener'

class SampleListener(object):
  def on_message(self, headers, message):
    print 'headers: %s' % headers
    print 'message: %s' % message

# 推送到队列queue
def send_to_queue(msg):
  conn = stomp.Connection10([('127.0.0.1',61613)])
  conn.start()
  conn.connect()
  conn.send(queue_name, msg)
  conn.disconnect()

#推送到主题
def send_to_topic(msg):
  conn = stomp.Connection10([('127.0.0.1',61613)])
  conn.start()
  conn.connect()
  conn.send(topic_name, msg)
  conn.disconnect()

##从队列接收消息
def receive_from_queue():
  conn = stomp.Connection10([('127.0.0.1',61613)])
  conn.set_listener(listener_name, SampleListener())
  conn.start()
  conn.connect()
  conn.subscribe(queue_name)
  time.sleep(1) # secs
  conn.disconnect()

##从主题接收消息
def receive_from_topic():
  conn = stomp.Connection10([('127.0.0.1',61613)])
  conn.set_listener(listener_name, SampleListener())
  conn.start()
  conn.connect()
  conn.subscribe(topic_name)
  while 1:
    send_to_topic('topic')
    time.sleep(3) # secs

  conn.disconnect()

if __name__=='__main__':
  # send_to_queue('len 123')
  # receive_from_queue()

  receive_from_topic()

但是上述只是发送文本类型的消息,除此之外,ActiveMQ还支持MapMessage、ObjectMessage、BytesMessage、和StreamMessage等多个消息类型。

以上这篇python 发送和接收ActiveMQ消息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python RabbitMQ消息队列实现rpc

    上个项目中用到了ActiveMQ,只是简单应用,安装完成后直接是用就可以了.由于新项目中一些硬件的限制,需要把消息队列换成RabbitMQ. RabbitMQ中的几种模式和机制比ActiveMQ多多了,根据业务需要,使用RPC实现功能,其中踩过的一些坑,有必要记录一下了. 上代码,目录结构分为 c_server.c_client.c_hanlder: c_server: #!/usr/bin/env python # -*- coding:utf-8 -*- import pika import

  • python RabbitMQ 使用详细介绍(小结)

    上节回顾 主要讲了协程.进程.异步IO多路复用. 协程和IO多路复用都是单线程的. epoll  在linux下通过这个模块libevent.so实现 gevent  在底层也是用了libevent.so gevent可以理解为一个更上层的封装. 使用select或者selectors,每接收或发送数据一次都要select一次 twisted异步网络框架,强大又庞大,不支持python3 (代码量python中排top3).几乎把所有的网络服务都重写了一遍. 一.RabbitMQ 消息队列介绍

  • python 发送和接收ActiveMQ消息的实例

    ActiveMQ是java开发的消息中间件服务.可以支持多种协议(AMQP,MQTT,OpenWire,Stomp),默认的是OpenWire.而python与ActiveMQ的通信使用的是Stomp协议.而如果你的服务没有开启则需要配置开启. 首先需要安装python的stomp库. 命令如下: pip install stomp.py 接着,就是上代码了具体如下: # -*-coding:utf-8-*- import stomp import time queue_name = '/que

  • 利用python发送和接收邮件

    关于电子邮件 大学之前,基本不用邮箱,所以基本感觉不到它的存在,也不知道有什么用:然而大学之后,随着认识的人越来越多,知识越来越广泛,邮箱已然成为很重要的通讯工具,大学一些课程作业需要有邮箱发给老师,注册网站需要邮箱,找工作也需要邮箱:那么电子邮箱是什么原理呢? 发送邮件 SMTP协议 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.SMTP协议属于TCP/IP协议簇,它帮助每台计算

  • Python实现发送与接收邮件的方法详解

    本文实例讲述了Python实现发送与接收邮件的方法.分享给大家供大家参考,具体如下: 一.发送邮件 这里实现给网易邮箱发送邮件功能: import smtplib import tkinter class Window: def __init__(self,root): label1 = tkinter.Label(root,text='SMTP') label2 = tkinter.Label(root,text='Port') label3 = tkinter.Label(root,text

  • Springboot详解RocketMQ实现消息发送与接收流程

    springboot+rockermq 实现简单的消息发送与接收 普通消息的发送方式有3种:单向发送.同步发送和异步发送. 下面来介绍下 springboot+rockermq 整合实现 普通消息的发送与接收 创建Springboot项目,添加rockermq 依赖 <!--rocketMq依赖--> <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-

  • python UDP(udp)协议发送和接收的实例

    需要建立2个文件,一个作为客户端,一个作为服务端 文件一 作为客户端client,文件二作为服务端server udp的特点是不需要建立连接 文件一客户端 #不需要建立连接 import socket #创建socket对象 #SOCK_DGRAM udp模式 s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #发送数据 字节 s.sendto("你好".encode(),("169.254.184.146",800

  • python自动化UI工具发送QQ消息的实例

    概述 个人遇到过小的需求,windows自动水群发送垃圾消息,使用一些特别简单易上手的小工具,快速实现功能需求(而不是使用一些重量级的还需要额外花时间去熟悉功能语法的大工具,如UI自动化工具sikulix).在一番摸索下,得出一番结论: 对于多平台的UI自动复杂操作,还是去学sikulix吧,这不是啃一点win32 api获取窗口句柄就能轻松解决的,毕竟sikulix是MIT大佬折腾出来的.而且,原理也更复杂(通过使用opencv对窗体控件进行识别,进而实现控制操作). 对于简单的操作(控制剪切

  • python实现企业微信定时发送文本消息的实例代码

    企业微信定时发送文本消息 使用工具:企业微信机器人+python可执行文件+计算机管理中的任务计划程序 第一步:创建群机器人 选择群聊,单击鼠标右键,添加群机器人. 建立群机器人后,右键查看机器人,如下 复制机器人的链接. 第二步:编辑python程序 import requests from datetime import datetime url = 'https://qyapi.we......' #机器人的webhook地址 headers = {'Content-type':'appl

  • ActiveMQ消息签收机制代码实例详解

    这篇文章主要介绍了ActiveMQ消息签收机制代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 消费者客户端成功接收一条消息的标志是:这条消息被签收. 消费者客户端成功接收一条消息一般包括三个阶段: 1.消费者接收消息,也即从MessageConsumer的receive方法返回 2.消费者处理消息 3.消息被签收 其中,第三阶段的签收可以有ActiveMQ发起,也可以由消费者客户端发起,取决于Session是否开启事务以及签收模式的

  • Android编程实现QQ表情的发送和接收完整实例(附源码)

    本文实例讲述了Android编程实现QQ表情的发送和接收.分享给大家供大家参考,具体如下: 在自己做一个聊天应用练习的时候,需要用到表情,于是就想着模仿一下QQ表情,图片资源完全copy的QQ.apk,解压就可以得到,这里不细说. 下面将该应用中的表情模块功能抽离出来,以便自己以后复习回顾.. 先看一下效果图: 首先进入界面:(完全仿照QQ) 点击一下上面的表情图标: 选择一些表情,输入一些文字混合: 点击发送: 可以看到文字和表情图片都一起显示出来了. 下面列出一些关键代码: 表情工具类Exp

  • Python利用itchat库向好友或者公众号发消息的实例

    首先获得好友或者公众号的UserName 1. 获取好友UserName #coding=utf8 import itchat itchat.auto_login(hotReload=True) #想给谁发信息,先查找到这个朋友,name后填微信备注即可,deepin测试成功 users = itchat.search_friends(name='') #获取好友全部信息,返回一个列表,列表内是一个字典 print(users) #获取`UserName`,用于发送消息 userName = u

随机推荐