java rabbitMQ demo

RabbitMQ实战Java版——基于rabbitMQ-demo的完整项目解析与应用 格式的主题键统一规定日志消息的Routing Key格式为:,其中:<severity>取值包括:debuginfowarnerror表示服务模块,如paymentorderuser例如::支付服务错误日志:订单服务信息日志:用户服务警告日志Exchange类型匹配机制典型用途是否使用Routing KeyDirect精确匹配点对点任务分发、RPC响应是Fanout全量广播。 阅读详情

 rabbitMQ是一个在AMQP基础上完整的,可服用的企业消息系统。他遵循Mozilla Public License 开源协议。

  关于amqp可参考http://www.oschina.net/p/rabbitmq/

 rabbitmq是一个消费的代理;通过生产者客户端生产一个信息,转送给消费者客户端;在这个传输过程中,根据你的需要可以经过路由、缓冲、持久化来得到这个消息。

  先通过一个例子开始:通过rabbitmq输出"Hello World!"

 

 

其中P代表生产者、C表示消费者、中间红色部分代表消息队列

 

生产者客户端的发送消息程序如下:

 

Java代码   收藏代码
  1. package com.abin.test;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. import com.rabbitmq.client.Channel;  
  6. import com.rabbitmq.client.Connection;  
  7. import com.rabbitmq.client.ConnectionFactory;  
  8.   
  9. public class Send {  
  10.     private final static String QUEUE_NAME = "hello";  
  11.   
  12.     public static void main(String[] args) throws IOException {  
  13.         ConnectionFactory factory = new ConnectionFactory();  
  14.         factory.setHost("localhost");  
  15.         Connection connection = factory.newConnection();  
  16.         Channel channel = connection.createChannel();  
  17.   
  18.         channel.queueDeclare(QUEUE_NAME, false, false, false, null);  
  19.         String message = "Hello World!";  
  20.         channel.basicPublish("", QUEUE_NAME, null, message.getBytes());  
  21.         System.out.println(" [x] Sent '" + message + "'");  
  22.   
  23.         channel.close();  
  24.         connection.close();  
  25.     }  
  26. }  

运行结果如下:

Java代码   收藏代码
  1. [x] Sent 'Hello World!'  

 

消费者客户端接收消息程序如下:

 

Java代码   收藏代码
  1. package com.abin.test;  
  2.   
  3. import com.rabbitmq.client.Channel;  
  4. import com.rabbitmq.client.Connection;  
  5. import com.rabbitmq.client.ConnectionFactory;  
  6. import com.rabbitmq.client.QueueingConsumer;  
  7.   
  8. public class Reqv {  
  9.     private final static String QUEUE_NAME = "hello";  
  10.   
  11.     public static void main(String[] argv) throws Exception {  
  12.   
  13.         ConnectionFactory factory = new ConnectionFactory();  
  14.         factory.setHost("localhost");  
  15.         Connection connection = factory.newConnection();  
  16.         Channel channel = connection.createChannel();  
  17.   
  18.         channel.queueDeclare(QUEUE_NAME, false, false, false, null);  
  19.         System.out.println(" [*] Waiting for messages. To exit press CTRL+C");  
  20.   
  21.         QueueingConsumer consumer = new QueueingConsumer(channel);  
  22.         channel.basicConsume(QUEUE_NAME, true, consumer);  
  23.   
  24.         while (true) {  
  25.             QueueingConsumer.Delivery delivery = consumer.nextDelivery();  
  26.             String message = new String(delivery.getBody());  
  27.             System.out.println(" [x] Received '" + message + "'");  
  28.         }  
  29.     }  
  30. }  

 运行程序得到的结果如下:

Java代码   收藏代码
  1. [*] Waiting for messages. To exit press CTRL+C  
  2. [x] Received 'Hello World!'  

 如果消费者出现“[x] Received 'Hello World!'”说明已接收到此消息信息。

STM32F4的sct文件理解 原文地址http://blog.sina.com.cn/s/blog_898f36590100ya2l.html ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~... 阅读详情

相关推荐

声品质粗糙度matlab,声品质的应用分析方法

声品质的应用分析方法2016-04-05 09:18:57阅读次数:14198摘要:声品质分析在噪声的主观评价方面已经得到越来越多的应用。本文比较了声品质分析与传统计权声级的区别,并介绍了在声品质分析的实际应用中,针对稳态信号、非稳态信号的几种不同分析方法,以及各分析方法的要求和特点。关键词:声品质,响度,尖锐度,粗糙度,波动度1前言传统评价噪声的方法主要为计权声压级,用以反映声音的大小。但是人耳...

weixin_30767323的博客 2438

rabbitmq学习1:hello world

rabbitMQ是一个在AMQP基础上完整的,可服用的企业消息系统。他遵循Mozilla Public License 开源协议。   关于amqp可参考http://www.oschina.net/p/rabbitmq/  rabbitmq是一个消费的代理;通过生产者客户端生产一个信息,转送给消费者客户端;在这个传输过程中,根据你的需要可以经过路由、缓冲、持久化来得到这个消息。   先

chenhaiyang_ok的专栏 890

Ecg信号QRS波峰检测:A Real-Time QRS Detection Algorithm (Pan-Tompkins法)

Pan-Tompkins法是R峰检测的经典方法,被引量高达6000+次。 Pan J, Tompkins W J. A real-time QRS detection algorithm[J]. IEEE transactions on biomedical engineering, 1985 (3): 230-236. 本文对论文流程进行了总结,并参考BioSigKit项目,复现了论文代码。 流程图: 代码如下: 第一部分是信号读入,这里使用MIT_BIH信号的100,读入10000个数据点 第二部分

weixin_42870380的博客 1万+

rabbitmq的消息确认和消息回退

前面章节我们至少知道了rabbitmq的几个核心组件, 比如exchangequeue和还有java编程方面的channel和connection但是这些还不够运用于生产环境。

bangiao的博客 1932

飞腾E2000单板移植openEuler 5.10内核与麒麟系统的实践指南

本文详细介绍了在飞腾E2000单板上移植openEuler 5.10内核并搭配麒麟系统根文件系统的完整实践指南。内容涵盖从编译环境搭建、内核配置裁剪、设备树适配,到根文件系统准备、U-Boot引导配置及启动调试的全流程,旨在帮助开发者打造一个内核版本新、软件生态全的稳定混合系统。

weixin_29309475的博客 259

IAP板卡远程升级(串口网口都可)+Ymodem+AES对bin文件加密+pc软件+板卡相互烧录

还是决定记录一下,毕竟这个东西我也搞了挺久的,遇到一些棘手的,或者是因为我很粗心遇到的问题也和大家分享一下,。 板卡核心是 STM32F103RCT6,256kflash 前言 开始看这个远程升级的时候,我是一头雾水的,原子哥的教程里面也有说到过iap,有了一个大概的了解,我想不明白的是,通过串口下载的方式把hex文件下载到flash,和把bin文件下载到flash难道不是拉一根线,下载一个文件嘛,(初入职场的我并没有考虑到安全这个问题)如果直接将hex文件给到客户那边,风险是非常大...

那可真是太开心了的博客 5371

RabbitMQ:发布者确认和消息返回

1.声明 当前内容用于本人学习和复习之用,当前内容主要包括发布者确认消息和消息不可达目的地的时候的消息的返回 当前内容来源:RabbitMQ官方 当前内容主要包括: 消息不可达目的地的时候的消息返回设定 使用生产者的消息确认机制(主要是用于确认消息是否发送到exchange上面) 2.官方的Publisher Confirms Networks can fail in less-than-obvious ways and detecting some failures takes time. There

编程学习者的博客 2225

手把手教你用Trae配置Python开发环境(含Claude 3.5代码生成实战)

本文详细介绍了如何使用字节跳动推出的Trae智能开发环境配置Python开发环境,并实战演示了Claude 3.5代码生成功能。从环境准备到项目初始化,再到AI辅助编码和调试优化,全面展示了Trae在提升开发效率方面的强大能力,特别适合Python开发者快速搭建项目和解决复杂问题。

weixin_28309571的博客 977

rabbitMQ的详细介绍

rabbitMQ的详细介绍

wang20010104的博客 7万+

【GNSS数据处理】赫尔默特(helmert)方差分量估计解析及代码实现

一、背景 helmert方差分量估计是方差-协方差分量估计的一个特例,在近现代测量平差中,我们处理的数据有明显的变化,数据序列中包括粗差,数据类型不再单一等问题。当我们遇到数据类型两类及以上时,可以考虑使用赫尔默特方差分量估计,应用的前提条件是不同类别的数据需要相互独立,这样我们的权阵就是对角阵。 二、引入 我们先用王者荣耀这款游戏引入一下,王者可是撩妹利器,哈哈,就像你有两部手机(安卓和苹果),带妹的时候大概率会用苹果,因为游戏体验方面苹果要优于安卓,带妹的时候不掉帧,不卡顿,不闪退,要操作有操作,有皮肤

ANKP的博客 1万+

【华为OD机试真题】65、高矮个子排队 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS)

题目描述 >现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。 >  我们现在希望小朋友排队,以"高" "矮" "高" "矮" 顺序排列,每一个高位置的小朋友要比相邻的位置高或者相等;每个 "矮" 位置的小朋友要比相邻的位置矮或者相等; >  要求小朋友们移动的距离和最小,第一个从“高"位开始排,输出最小移动距离即可。 >  例如,在示范小队{5,3,1,2,3}中, {5, 1, 3, 2, 3}是排序结果。 > 

KJ.JK 2101

rabbitmq详解

RabbitMQ是一个实现了AMQP(AdvancedMessageQueuingProtocol)高级消息队列协议的消息队列服务,用Erlang语言。是面向消息的中间件。你可以把它想像成一个邮局你把信件放入邮箱,邮递员就会把信件投递到你的收件人处。在这个比喻中,RabbitMQ是一个邮箱、邮局、邮递员。RabbitMQ和邮局的主要区别是,它处理的不是纸,而是接收、存储和发送二进制的数据——消息。主要流程。...

m0_67393342的博客 3513

【保姆级】联想服务器 Ubuntu 装机:RAID 0/1/5/10 从原理到配置(新手也能一次成)

联想服务器RAID配置指南:Ubuntu系统适配方案 摘要: 联想服务器采用LSI MegaRAID硬件控制器,支持RAID0/1/10/5四种阵列模式。RAID0提供最高性能但无冗余,适合临时数据;RAID1完全镜像确保数据安全,推荐用于系统盘;RAID10兼顾性能与冗余,适合数据库等高要求场景;RAID5平衡容量与成本,适用于文件服务器。配置可通过本地BIOS(Ctrl+R)或XCC远程管理完成,Ubuntu安装时可自动识别虚拟磁盘。注意事项包括:使用同型号硬盘、监控重建进度、避免SSD与机械盘混用等。

2501_93651177的博客 489

RabbitMQ(Java快速入门附Demo代码)

生产者通过交换机发送消息。交换机根据路由规则将消息分发到队列。消费者从队列中接收并处理消息。这个 Demo 不仅通过代码实现了消息传递,还借助逻辑图和类比帮助您更直观地理解 RabbitMQ 的机制。希望这对您掌握 RabbitMQ 有所帮助!

m0_73889530的博客 1420

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

RabbitMQ java语言demo(二)

消息队列是存储消息的缓冲区。生产者将消息发送到队列中,消费者从队列中接收消息,RabbitMqjava开发

MAI44的博客 750

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

RabbitMQ 五种基本模式demo(Java版本)

RabbitMQ 五种基本模式demo(Java版本) 代码非本人所写,只是将代码稍微做了些改动,在自己的环境中运行起来了,侵删 五种模式都需要引用的文件 ConnectionUtils.java 创建并设置factory的基本属性,并返回新创建的connection package test.rabbitmq.rabbitmq.mq5s; import com.rabbitmq.client.*; import java.io.IOException; import java.util.concur

Ember_Sky 751

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【RabbitMQ】Java操作RabbitMQ之入门Demo

由之前文章里我们了解到RabbitMQ的通信如下图,我们要想将生产者生产的消息存入队列,我们就一个先获得Connection(连接)然后通过连接获取到channel,然后选择虚拟机交换机以及队列等最后关闭连接。此时我们需要去在MQ里创建队列,通过channel里的queueDelclare方法来创建该方法有以下参数。此时我们就可以通过channel里的basicPublish方法进行发送消息,该方法有以下参数。我们获取连接是通过连接工厂进行获取的所以此时我们先要去创建连接工厂并给他配置相应的信息。

qq_61903414的博客 1156

RabbitMQ快速入门Java Demo

RabbitMQ快速入门Demo快速入门Demodirect:fanout 快速入门Demo 引入依赖(版本自选): <!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client --> <dependency> <groupId>com.rabbitmq</groupId> &...

Jews 2136

rabbitMQ java 应用Demo

1.导入maven依赖 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>3.6.6</version> </dependency> 2.生产者代码 import com.rabbitmq.client.Channel; import com.rabbitmq.client.

李利科 348

java编写RabbitMQ 的demo

maven 项目 pom.xml配置文件 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 com.zjk myRabbitMQ 0.0.1-SNAPSHOT http://maven.apache.org com.

han_xiaoxue的博客 630

RabbitMQ Java实现demo

代码运行需先安装环境依赖 windows环境下: 先安装Erlang 页面:https://www.erlang.org/downloads 下载链接:https://erlang.org/download/otp_win64_24.1.exe 安装完配置环境变量 ERLANG_HOME C:\Program Files\erl-24.1 然后在path变量里添加 %ERLANG_HOME%/bin 然后打开cmd命令框,输入erl Eshell V12.1 (abort with ^G) ..

梅林's hat 787

RabbitMq java版本 demo

queue 队列是rabblt做流量肖峰最常用的一个队列了吧? 首先我们要封装个工厂类用于创建连接关闭连接使用 public class MqConnect { public static Connection connect() throws IOException, TimeoutException { ConnectionFactory connectionFactory=new ConnectionFactory(); connectionFa.

crazyo2jam的博客 519

java +rabbitmq测试demo

springboot ,pom <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.7.3</version...

ppwwp的专栏 401

rabbitmq.java demo_RabbitMQ入门级示例Demo

【实例简介】【实例截图】【核心代码】package com.rabbitmq.test;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;public class ProducerTest {private fin...

weixin_39998541的博客 123

rabbitmq.java demo_Java+Maven 简单使用RabbitMQ(demo)

public static void main(String[] args) throws Exception {//创建连接工厂,并设置连接信息ConnectionFactory f =new ConnectionFactory();f.setHost("ip地址");f.setPort(5672);//可选,5672是默认端口f.setUsername("admin");f.setPasswo...

weixin_39897505的博客 229
上一篇: vue的 计算属性(computed)、methods、watched三者区别
下一篇: centos 6.5下安装、配置并启动SSH远程访问
SnakeMoving
博客等级 码龄11年 65粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值