RabbitMQ + Springboot +“Hello Word”
2024-09-24 16:59:52
https://www.rabbitmq.com/getstarted.html
官网文档
我们将呼叫我们的消息发布者(发送者)发送和我们的消息消费者(接收者) Recv。发布者将连接到RabbitMQ,发送单个消息,然后退出
创建一个Send.java 根据 springboot 配置文件配置
@Component
public class Send {
//设置类命名队列
private final static String QUEUE_NAME = "hello"; @Value("${spring.rabbitmq.host}")
private String host;
@Value("${spring.rabbitmq.port}")
private int port;
@Value("${spring.rabbitmq.username}")
private String username;
@Value("${spring.rabbitmq.password}")
private String password; public void send(){
//船舰到服务器的链接
ConnectionFactory factory = new ConnectionFactory();
factory.setPort(port);
factory.setPassword(password);
factory.setUsername(username);
factory.setHost(host);
Connection connection = null;
Channel channel = null;
try{
connection = factory.newConnection();
channel = connection.createChannel() ;
channel.queueDeclare(QUEUE_NAME,false,false,false,null);
for(int i = 0;i<5;i++) {
String value = "hello··········";
channel.basicPublish("", QUEUE_NAME, null, value.getBytes());
}
}catch (Exception e){ }finally {
try {
//关闭链接 不然一直消耗
channel.close();
connection.close();
}catch (Exception e){
e.printStackTrace();
}
} }
}
配置文件
########### rabbitmq ############
spring.rabbitmq.host=XXX.xxx.xxx.xx
spring.rabbitmq.port=xxx
spring.rabbitmq.username=xxx
spring.rabbitmq.password=xxx
启动类
@Override
public void run(String... args) throws Exception {
Send.init(); }
项目启动后 到
查看
发送的信息
消费端接收
public static void main (String [] argv) throws Exception{
//创建服务器的链接
ConnectionFactory factory = new ConnectionFactory();
//创建
factory.setHost("xxxx.xxxx.xxxx.xxxx");
factory.setPassword("guest");
factory.setUsername("guest");
factory.setPort(xxxx);
Connection connection = factory.newConnection();
Channel channel = connection.createChannel() ;
channel.queueDeclare(QUEUE_NAME,false,false,false,null);
DefaultConsumer defaultConsumer = new DefaultConsumer(channel){
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
String s = new String(body);
System.out.println("接受到的消息:"+s);
}
};
channel.basicConsume(QUEUE_NAME,true,defaultConsumer); }
最新文章
- 在Eclipse中使用JUnit4进行单元测试(初级篇)
- eclipse重定向输入输出到文件
- 正则表达式之JSP、Android
- combination-sum-ii(熟悉下Java排序)
- Bug疑难杂症 - java.lang.NoSuchFieldError: udhLen
- Junit使用教程(二)
- xtraScrollableControl 滚动条随鼠标滚动
- Extjs-4.2.1(二)——使用Ext.define自定义类
- 主席树:POJ2104 K-th Number (主席树模板题)
- GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟。
- 扣出的图片无法调整大小 photoshop mac版本
- 学点Groovy来理解build.gradle代码
- 照着官方文档学习react
- python3 安装 google-visualization-python(windows10)
- 《JavaScript总结》js模块化
- AQS是什么?
- 2018.10.26 NOIP模拟 图(最小生成树+线段树合并)
- …… are only available on JDK 1.5 and higher 错误
- java面向对象(上)
- Unity中StopCoroutine不起作用怎么办
热门文章
- 《剑指offer》面试题25 二叉树中和为某一值的路径 Java版
- Python list和tuple的相互转换?
- ☆☆☆☆☆Placeholder兼容各大浏览器的例子☆☆☆☆☆
- C#多线程下更新UI的几种方法
- angularJS(三):服务(Service)、http
- linux安装mysql8(完整图文笔记)
- scala学习笔记(9)
- 利用描述符自定义property
- AT Regular 086
- 为什么我选择用 flutter