rabbitmq订单模块

RabbitMQ提供了具有可预测且一致的吞吐量和延迟的高可用性,可伸缩和便携式消息传递系统。 RabbitMQ是AMQP (业务消息传递的开放标准)的领先实现 ,并且通过适配器支持XMPP,SMTP,STOMP和HTTP来进行轻量级Web消息传递。

这个新模块允许您在Play上的RabbitMQ实例上消费和产生消息! 框架应用程序。

安装

play install rabbitmq

组态

module.rabbitmq=${play.path}/modules/rabbitmq-0.0.1
rabbitmq.host=localhost
rabbitmq.port=5672
rabbitmq.userName=guest
rabbitmq.password=guest
rabbitmq.vhost=/
rabbitmq.exchangeType=direct
rabbitmq.durable=true
rabbitmq.autoAck=false
rabbitmq.basicQos=true

定义将由队列使用的消息(只是一个简单的POJO)

public class SampleMessage implements Serializable {/** The field1. */private String field1;/** The field2. */private String field2;/*** Instantiates a new sample message.*/public SampleMessage() {}/*** Instantiates a new sample message.** @param field1 the field1* @param field2 the field2*/public SampleMessage(String field1, String field2) {super();this.field1 = field1;this.field2 = field2;}/*** Gets the field1.** @return the field1*/public String getField1() {return field1;}/*** Sets the field1.** @param field1 the new field1*/public void setField1(String field1) {this.field1 = field1;}/*** Gets the field2.** @return the field2*/public String getField2() {return field2;}/*** Sets the field2.** @param field2 the new field2*/public void setField2(String field2) {this.field2 = field2;}/*** To String** @see java.lang.Object#toString()*/@Overridepublic String toString() {return "SampleMessage [field1=" + field1 + ", field2=" + field2 + "]";}
}

发布消息

public static void publish(String q) {RabbitMQPublisher.publish("myQueue", new SampleMessage(q, q));render(q);}

创建消息使用者

@OnApplicationStart(async=true)
public class RabbitMQSampleConsumer extends RabbitMQConsumer {/*** Consume Message** @see play.modules.rabbitmq.consumer.RabbitMQConsumer#consume(T)*/@Overrideprotected void consume(SampleMessage message) {System.out.println("******************************");System.out.println("* Message Consumed: " + message);System.out.println("******************************");}/*** Name of the Queue that this consumer will be listening to.** @return the string* @see play.modules.rabbitmq.consumer.RabbitMQConsumer#queue()*/@Overrideprotected String queue() {return "myQueue";}/*** Return message type.** @return the message type* @see play.modules.rabbitmq.consumer.RabbitMQConsumer#getMessageType()*/protected Class getMessageType() {return SampleMessage.class;}
}

*请注意,这是一场戏! 作业,因此您可以手动启动它,也可以使用Play提供的其他注释! 例如@On或@Every。 有关更多信息,请参见“ 异步作业”文档 。

Firehose –批量发布消息的另一种方法

@OnApplicationStart(async = true)
public class RabbitMQSampleFirehose extends RabbitMQFirehose {/** The count. */public int count = 0;/*** Get data to be loaded.** @param n the n* @return the data* @throws Exception the exception* @see play.modules.rabbitmq.producer.RabbitMQFirehose#getData(int)*/@Overrideprotected List getData(int n) throws Exception {if ( count >= 10 ) {return null;}List results = new ArrayList();for (int i = 0; i < n; i++) {results.add(new SampleMessage("field1", "field2"));count++;}return results;}/*** Batch Size - How many records we will select at the time?.** @return the int* @see play.modules.rabbitmq.producer.RabbitMQFirehose#batchSize()*/@Overrideprotected int batchSize() {return 2;}/*** Queue Name.** @return the string* @see play.modules.rabbitmq.producer.RabbitMQFirehose#queueName()*/@Overrideprotected String queueName() {return "myQueue";}}

*请注意,这是一场戏! 作业,因此您可以手动启动它,也可以使用Play提供的其他注释! 例如@On或@Every。 有关更多信息,请参见“ 异步作业”文档 。 当然,该代码在Github上可用。

现在开始游戏!

参考: RabbitMQ Play模块! 我们的JCG合作伙伴 Felipe Oliveira在Geeks的 框架 完全在 。

相关文章:

  • Java Code Geeks Andygene Web原型
  • 每个程序员都应该知道的事情
  • Spring MVC开发–快速教程
  • SmartGWT入门,提供出色的GWT界面
  • GWT 2 Spring 3 JPA 2 Hibernate 3.5教程

翻译自: https://www.javacodegeeks.com/2011/04/rabbitmq-module-play-framework.html

rabbitmq订单模块

rabbitmq订单模块_RabbitMQ播放模块! 构架相关推荐

  1. 某狸子订单系统豪华版/商城/前台程序/会员模块/增加分销模块

    介绍: 阿狸子订单系统豪华版,也就是全功能旗舰版了,带PC前台模块+WAP手机版模块(和PC端自适应)+文章模块+用户分销模块,整合多个接口,支持二维码推广.这个没任何加密,全绿色版本 网盘下载地址: ...

  2. Arduino案例实操 -- 语音播放模块(DY-SV5W)

    案例主控板如不做特殊说明的话,均默认是Arduino UNO控制板. 本次实验以UNO发送串口协议控制语音播放器播放歌曲,语音播放模块选型DY-SV5W. 文章标题导航 一.硬件选择 1. Ardui ...

  3. DY-SV17F语音播放模块应用篇一 【IO独立模式】

    DY-SV17F模块模式分为I/O组合模式和I/O独立模式,每种模式下又有两种方式--按键触发模式和电平触发模式,低电平有效. 注: 按键触发是指低电平触发后随即释放电平,类似于按键按下后弹起,故称为 ...

  4. Arduino按键控制MP3模块随机播放音乐(YX5300 MP3音乐模块)

    设计者:STCode (公众号同名) 1)功能描述 这个设计主要是通过按键来控制播放音乐,主要涉及到的内容有按键和YX5300 MP3音乐模块的使用,通过按压按键来达到随机播放音乐曲目的目的. 2)使 ...

  5. Arduino 单总线驱动音频播放模块DY-SV 5W示例(MP3)

    只需要一根数据线,即可操控这个语音播放模块拉. #define Pin_MP3 26#define CLEAR 0x0A //清零数字 #define MUSIC_SELECT 0x0B //选取确认 ...

  6. WINCE TCPMP应用三:TCPMP的播放模块

    首先,我们来看一下TCPMP的播放模块的结构定义:  static const nodedef Player =  {   sizeof(player_base)|CF_GLOBAL|CF_SETTI ...

  7. python订单管理系统功能_订单管理系统的功能模块有哪些?

    订单管理系统能够动态的了解订单的进展和实施状况,它通过对订单进行实时的管理,对于节省运作时间,降低作业成本具有非常重要的作用,它是企业的管理系统中重要的组成成分,今天德米萨就给大家具体介绍下订单管理系 ...

  8. android智能语音播放器,android IM模块-语音-播放篇1

    MediaPlayer MediaPlayer是我们经常用的一个音频播放类 创建的方式有很多种,可以直接new一个,也可以直接调用MediaPlayer.creat(xxx) 常用API有如下 voi ...

  9. DY-SV17F语音播放模块应用篇二 【UART 串口模式】

    UART 串口模式 是采用波特率为9600的全双工串口通信. 语音模块做为从机处理,上电默认等待状态,所有播放操作全由主机控制. 从机不会主动发起通信,所有通信都是由主机发起. 串口模式接线图: 使用 ...

最新文章

  1. python技术晨讲_python系列教程14
  2. DPI — 深度数据报文解析
  3. LVS原理详解以及部署
  4. Java面向对象之构造方法
  5. 异步IO\数据库\队列\缓存
  6. mysql的安装胚子_下列哪个制剂是以主要药味缩写加剂型的原则命名的
  7. 【状压DP】最优配对问题(jzoj 3420)
  8. 前端学习(3236):react生命周期3
  9. mysql 安全删除_mysql的binlog安全删除的一种方法
  10. Markdown编辑器常用功能以及快捷键介绍
  11. 类型参数作为约束 where T : U 的作用
  12. Python可视化工具Matplotlib 3.0版出炉,改进默认后端选择,饼图终于变圆了
  13. 随机数生成--可复现--可重复:random_state
  14. Notion for Mac(多功能办公笔记软件)V2.0.10官方版
  15. linux小白家教学一
  16. DNS域名管理系统与LAMP编译安装
  17. 如何搭建属于自己的阿里云服务器
  18. FL Studio中的音频剪辑功能
  19. Windows 正在连接xxx...无法打开到主机的连接。在端口xxx:连接失败问题解决
  20. MySQL:常用的MySQL优化工具

热门文章

  1. SpringBoot+Vue博客系统---后端接口开发
  2. JAVA基础学习大全(笔记)
  3. 用limit 实现java的简单分页
  4. ServletActionContext.getRequest().getSession() 和 ActionContext.getContext().getSession()的区别
  5. (转)Spring Boot通过ImportBeanDefinitionRegistrar动态注入Bean
  6. java国际化——消息格式化+文本文件和字符集
  7. 一文理类加载相关知识:类加载器、双亲委派、SPI
  8. neo4j 迁移_在Kubernetes中迁移Neo4j图模式
  9. java –cp ./:_成为Java流专家–第2部分:中级操作
  10. mysql caching_Spring Caching抽象和Google Guava Cache