springboot项目,@Test写法 @Before @After

某文件示例

复制代码
package cn.xxx.crm.boss;

import cn.xxxx.crm.manager.mq.rabbit.AliyunCredentialsProvider;
import com.rabbitmq.client.AMQP;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.UUID;
import java.util.concurrent.TimeoutException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

/**
 * @author zss
 * @date 2022/4/25 14:55
 * @Email:451682479@qq.com
 */
public class MqTest {

    public static final String HOST = "qwer.mq-amqp.cn-hangzhou-111111-a.aliyuncs.com";
    public static final String resourceOwnerId = "qwert";
    public static final String USERNAME = "aaaaa";
    public static final String PASSWORD = "xxxx";
    public static final String V_HOST = "DevCrmHost1";
    public static final int PORT = 5672;

    private ConnectionFactory factory;
    private Connection connection;

    @Before
    public void before() {
        factory = new ConnectionFactory();
        factory.setHost(HOST);
        factory.setPort(PORT);
        factory.setVirtualHost(V_HOST);
        factory.setUsername(USERNAME);
        factory.setPassword(PASSWORD);

        AliyunCredentialsProvider credentialsProvider = new AliyunCredentialsProvider(
            USERNAME, PASSWORD, resourceOwnerId);
        factory.setCredentialsProvider(credentialsProvider);
        factory.setAutomaticRecoveryEnabled(true);
        factory.setNetworkRecoveryInterval(5000);
        // 基于网络环境合理设置超时时间。
        factory.setConnectionTimeout(30 * 1000);
        factory.setHandshakeTimeout(30 * 1000);
        factory.setShutdownTimeout(0);

    }


    @After
    public void after() throws IOException {
        if (null != connection) {
            connection.close();
        }
    }


    @Test
    public void test() throws IOException, TimeoutException {
        connection = factory.newConnection();
        Channel channel = connection.createChannel();

        channel.exchangeDeclare("test-direct-exchange", "direct", true, false, false, null);
        channel.queueDeclare("test-queue1", true, false, false, new HashMap<String, Object>());
        channel.queueBind("test-queue1", "test-direct-exchange", "aaaa");
        // 开始发送消息。
        for (int i = 0; i < 100; i++) {
            // ${ExchangeName}必须在消息队列RabbitMQ版控制台上已存在,并且Exchange的类型与控制台上的类型一致。
            // BindingKey根据业务需求填入相应的BindingKey。
            AMQP.BasicProperties props = new AMQP.BasicProperties.Builder().messageId(UUID.randomUUID().toString())
                .build();
            channel.basicPublish("test-direct-exchange", "aaaa", true, props,
                ("消息发送Body" + i).getBytes(StandardCharsets.UTF_8));

            String a = "消息发送Body" + i;
            System.out.println(a);

        }
    }
}
相关推荐
EatFan1 小时前
Java接入支付宝 JSAPI 支付保姆教程(二):流程讲解与前后端代码讲解
前端·spring boot·后端·微信小程序·小程序·uni-app
凤山老林2 小时前
Spring Boot 整合 Flowable 的企业级落地指南
数据库·spring boot·后端·flowable·工作流
代码调试师4 小时前
【毕设分享】基于SpringBoot的旅游向导分配管理系统57145
spring boot·毕业设计·源码·课程设计·毕设·大作业·程序定制
2301_32241428044 小时前
活力孕康复APP 47737- 原创(免费领源码+部署教程+开发环境)
java·vue.js·spring boot·mysql·微信小程序·idea·微信开发者工具
vx_Biye_Design5 小时前
springboot游泳馆系统93765-计算机课程设计、毕业设计
java·javascript·spring boot·后端·python·spring·课程设计
专业程序开发源6 小时前
springbootLivehouse票务系统-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·课程设计·pygame
卓怡学长6 小时前
w233基于vue和springboot的宠物管理系统的设计与实现
java·vue.js·spring boot·spring·intellij-idea
梨涡泥窝9 小时前
JavaWeb——基于 Spring Boot + Vue 的图书管理系统的设计与实现
vue.js·spring boot·后端
FungLeo10 小时前
成为全栈·Node 后端篇·后端测试策略:单元、集成与测试数据库
单元测试·node.js·集成测试·测试策略·成为全栈·测试数据库
隐退山林11 小时前
JavaEE进阶:SpringBoot统一功能处理
java·spring boot·后端