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); }

最新文章

  1. 在Eclipse中使用JUnit4进行单元测试(初级篇)
  2. eclipse重定向输入输出到文件
  3. 正则表达式之JSP、Android
  4. combination-sum-ii(熟悉下Java排序)
  5. Bug疑难杂症 - java.lang.NoSuchFieldError: udhLen
  6. Junit使用教程(二)
  7. xtraScrollableControl 滚动条随鼠标滚动
  8. Extjs-4.2.1(二)——使用Ext.define自定义类
  9. 主席树:POJ2104 K-th Number (主席树模板题)
  10. GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟。
  11. 扣出的图片无法调整大小 photoshop mac版本
  12. 学点Groovy来理解build.gradle代码
  13. 照着官方文档学习react
  14. python3 安装 google-visualization-python(windows10)
  15. 《JavaScript总结》js模块化
  16. AQS是什么?
  17. 2018.10.26 NOIP模拟 图(最小生成树+线段树合并)
  18. …… are only available on JDK 1.5 and higher 错误
  19. java面向对象(上)
  20. Unity中StopCoroutine不起作用怎么办

热门文章

  1. 《剑指offer》面试题25 二叉树中和为某一值的路径 Java版
  2. Python list和tuple的相互转换?
  3. ☆☆☆☆☆Placeholder兼容各大浏览器的例子☆☆☆☆☆
  4. C#多线程下更新UI的几种方法
  5. angularJS(三):服务(Service)、http
  6. linux安装mysql8(完整图文笔记)
  7. scala学习笔记(9)
  8. 利用描述符自定义property
  9. AT Regular 086
  10. 为什么我选择用 flutter