zoukankan      html  css  js  c++  java
  • Java使用RabbitMQ之消息确认(confirm模板)

      RabbitMQ生产者消息确认Confirm模式,分为普通模式、批量模式和异步模式,本次举例为普通模式。

    源码:

     1 package org.study.confirm4;
     2 
     3 import com.rabbitmq.client.Channel;
     4 import com.rabbitmq.client.Connection;
     5 import org.junit.Test;
     6 import org.study.utils.ConnectionUtils;
     7 
     8 import java.io.IOException;
     9 import java.util.concurrent.TimeoutException;
    10 
    11 /**
    12  * 生产者消息确认(confirm)
    13  */
    14 public class Sender {
    15     public static final String QUEUE_NAME = "test_confirm_queue";
    16 
    17     @Test
    18     public void send() throws IOException, TimeoutException, InterruptedException {
    19         // 获取连接
    20         Connection conn = ConnectionUtils.getConnection();
    21         // 获取通道
    22         Channel channel = conn.createChannel();
    23         //创建队列
    24         channel.queueDeclare(QUEUE_NAME, false, false, false, null);
    25         //每个消费者发送确认消息前,只发送一条消息
    26         channel.basicQos(1);
    27         String msg = "hello rabbitmq!";
    28 
    29         //开启confirm模式
    30         channel.confirmSelect();
    31 
    32         //发送消息
    33         channel.basicPublish("", QUEUE_NAME, null, msg.getBytes());
    34         System.out.println("[send] msg " + msg);
    35 
    36         //判断消息返回是否成功
    37         if (channel.waitForConfirms()) {
    38             System.out.println("发送成功!");
    39         } else {
    40             System.out.println("发送失败!");
    41         }
    42 
    43         channel.close();
    44         conn.close();
    45     }
    46 }
  • 相关阅读:
    js 创建Table,每行3列的方式
    多线程 笔记
    WCF binding
    table 变量
    Excel数据使用sql语句导入sqlserver (64位)
    sqlserver链接服务器到Mysql
    easyui datagrid 返回数据正确 fit='true' 时不显示内容
    js设置文本框只读属性的小bug
    windows64位下的redis及memcached的安装和使用
    spring.Net (Mvc)属性依赖注入------实例化对象
  • 原文地址:https://www.cnblogs.com/gongxr/p/9646901.html
Copyright © 2011-2022 走看看