admin
2024-07-25 47e3087067abd35e6337c011f96d2338c0bb1aae
src/main/java/org/yeshi/utils/mq/TDMQUtil.java
@@ -2,6 +2,8 @@
import com.qcloud.cmq.Account;
import com.qcloud.cmq.Message;
import com.qcloud.cmq.Queue;
import com.qcloud.cmq.entity.CmqResponse;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
@@ -10,6 +12,7 @@
import com.tencentcloudapi.tdmq.v20200217.models.*;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
//腾讯CMQ消息
@@ -204,6 +207,21 @@
    public String sendMsg(String queueName, String msg) {
        return this.sendMsg(queueName, msg, 0L);
    }
    // 发送消息
    public List<CmqResponse> batchSendMsg(String queueName, List<String> msgList, long delaySeconds) throws Exception {
        Queue queue = account.getQueue(queueName);
        if (delaySeconds > 0) {
            return queue.batchSend(msgList, (int) delaySeconds);
        } else {
            return queue.batchSend(msgList);
        }
    }
    // 发送消息
    public List<CmqResponse> batchSendMsg(String queueName, List<String> msgList) throws Exception {
        return batchSendMsg(queueName, msgList, 0);
    }
@@ -451,32 +469,32 @@
    public static void main(String[] args) {
        TDMQUtil.getInstance().init("AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25", "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo", true);
        String queueName = "test1";
        String topicName = "topic_test";
        //创建
        TDMQUtil.getInstance().createQueue(queueName);
        //发送消息
        TDMQUtil.getInstance().sendMsg(queueName, "测试消息");
        //创建主题
        TDMQUtil.getInstance().createTopic(topicName);
        //创建订阅
        TDMQUtil.getInstance().subscribeTopic(topicName, topicName + queueName, queueName);
        //发送订阅消息
        TDMQUtil.getInstance().publishTopicMessage(topicName, "主题消息");
        String queueName = "makemoney-goldcorn-settle";
//        String topicName = "topic_test";
//
//        //创建
//        TDMQUtil.getInstance().createQueue(queueName);
//
//        //发送消息
//        TDMQUtil.getInstance().sendMsg(queueName, "测试消息");
//
//        //创建主题
//        TDMQUtil.getInstance().createTopic(topicName);
//
//        //创建订阅
//        TDMQUtil.getInstance().subscribeTopic(topicName, topicName + queueName, queueName);
//
//        //发送订阅消息
//        TDMQUtil.getInstance().publishTopicMessage(topicName, "主题消息");
        //消费消息
        try {
            Message message = TDMQUtil.getInstance().recieveMsg(queueName);
            System.out.println("接受到的消息:" + message.msgBody);
            TDMQUtil.getInstance().deleteMsg(queueName, message.receiptHandle);
        } catch (Exception e) {
            e.printStackTrace();
        }
//        try {
//            Message message = TDMQUtil.getInstance().recieveMsg(queueName);
//            System.out.println("接受到的消息:" + message.msgBody);
//            TDMQUtil.getInstance().deleteMsg(queueName, message.receiptHandle);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
        try {
            List<Message> messages = TDMQUtil.getInstance().recieveMsg(10, queueName);
@@ -489,14 +507,14 @@
        }
        //删除订阅
        TDMQUtil.getInstance().deleteSubscribeTopic(topicName, topicName + queueName);
        //删除主题
        TDMQUtil.getInstance().deleteTopic(topicName);
        //删除队列
        TDMQUtil.getInstance().deleteQueue(queueName);
//        //删除订阅
//        TDMQUtil.getInstance().deleteSubscribeTopic(topicName, topicName + queueName);
//
//        //删除主题
//        TDMQUtil.getInstance().deleteTopic(topicName);
//
//        //删除队列
//        TDMQUtil.getInstance().deleteQueue(queueName);
    }