• RabbitMQ接口封装


    1.引用

    <dependency>
    <groupId>com.rabbitmq</groupId>
    <artifactId>amqp-client</artifactId>
    </dependency>

    2.代码
    package cn.piesat.task.util;

    import com.rabbitmq.client.AMQP;
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.stereotype.Component;

    /**
    * rabbitMQ收发消息工具类
    */
    @Component
    public class RabbitMQUtil {
    private static Logger rabbitMQUtilLogger = LoggerFactory.getLogger(RabbitMQUtil.class);

    /**
    * 发送持久化消息到指定的队列中
    *
    * @param uri 服务器连接uri参数
    * @param queueName 队列名称
    * @param msg 消息体 json 格式
    * @return true: 发送成功, false: 发送失败
    */
    public static boolean sendMsg(String uri, String queueName, String msg) {
    boolean isSuccess = false;
    Connection connection = null;
    Channel channel = null;
    try {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setUri(uri);
    connection = factory.newConnection();
    if (connection != null) {
    channel = connection.createChannel();
    if (channel != null) {
    AMQP.Queue.DeclareOk declareOk = channel.queueDeclare(queueName, true, false,
    false, null);
    if (declareOk != null) {
    // 构建消息属性
    int deliveryMode = 2; // 1:临时 2:持久化
    AMQP.BasicProperties basicProperties = new AMQP.BasicProperties(null, "text/json",
    null, deliveryMode,
    null, null,
    null, null,
    null, null,
    null, null,
    null, null);

    channel.basicPublish("", queueName, false, false, basicProperties, msg.getBytes());
    isSuccess = true;
    } else {
    rabbitMQUtilLogger.error("queue declare error");
    }
    } else {
    connection.close();
    rabbitMQUtilLogger.error("create channel error");
    }
    } else {
    rabbitMQUtilLogger.error("create connection error");
    }

    } catch (Exception e) {
    rabbitMQUtilLogger.error(e.toString());
    rabbitMQUtilLogger.error(e.getStackTrace().toString());
    isSuccess = false;
    } finally {
    try {
    if (channel != null) {
    channel.close();
    }

    if (connection != null) {
    connection.close();
    }
    } catch (Exception e) {
    rabbitMQUtilLogger.error("close connection error");
    rabbitMQUtilLogger.error(e.toString());
    rabbitMQUtilLogger.error(e.getStackTrace().toString());
    }

    return isSuccess;
    }
    }
    }
  • 相关阅读:
    3.4 抓取猫眼电影排行
    2.5 代理的基本原理
    第二章 爬虫基础
    1.8 爬虫框架的安装
    Python序列化
    CVE-2020-1938 Apache-Tomcat-Ajp漏洞复现
    Python定制类
    Apache Tomcat DDOS
    内网端口转发工具
    内网渗透思路简单介绍
  • 原文地址:https://www.cnblogs.com/runnerjack/p/12502787.html
Copyright © 2020-2023  润新知