From 2f5935ed11672046c37f733d855214f6147b4b58 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 28 三月 2022 11:33:19 +0800 Subject: [PATCH] TDMQ兼容 --- fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/UserMoneyChangeCMQManager.java | 134 +++++++++++++++++++++++--------------------- 1 files changed, 71 insertions(+), 63 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/UserMoneyChangeCMQManager.java b/fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/UserMoneyChangeCMQManager.java index 28cda84..14a611a 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/UserMoneyChangeCMQManager.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/mq/cmq/UserMoneyChangeCMQManager.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Map; +import com.yeshi.fanli.util.Constant; import org.yeshi.utils.CMQUtil; import com.google.gson.Gson; @@ -13,79 +14,86 @@ public class UserMoneyChangeCMQManager { - private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25"; - private static String secretKey = "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo"; - private static UserMoneyChangeCMQManager userMoneyChangeCMQManager; - private static CMQUtil cmqUtil; + private static String secretId = "AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25"; + private static String secretKey = "xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo"; + private static UserMoneyChangeCMQManager userMoneyChangeCMQManager; + private static CMQUtil cmqUtil; + private static TDMQUtil tdmqUtil; - private final static String TOPIC_NAME = "topic_user_money"; + private final static String TOPIC_NAME = "topic_user_money"; - public static String QUEUE_DEBT = TOPIC_NAME + "_" + "debt"; + public static String QUEUE_DEBT = TOPIC_NAME + "_" + "debt"; - public static String SUBSCRIBE_DEBT = "debt"; + public static String SUBSCRIBE_DEBT = "debt"; - static { - cmqUtil = CMQUtil.getInstance(secretId, secretKey); - // 鍒涘缓涓婚锛屾坊鍔犺闃� - cmqUtil.createTopic(TOPIC_NAME); - // 鐢ㄦ埛鍒歌闃� - String[] subscripts = new String[] { SUBSCRIBE_DEBT }; - String[] queues = new String[] { QUEUE_DEBT }; + static { + cmqUtil = CMQUtil.getInstance(secretId, secretKey); + TDMQUtil.getInstance().init(secretId, secretKey, Constant.TDMQ_PUBLIC); + tdmqUtil = TDMQUtil.getInstance(); + // 鍒涘缓涓婚锛屾坊鍔犺闃� + tdmqUtil.createTopic(TOPIC_NAME); + // 鐢ㄦ埛鍒歌闃� + String[] subscripts = new String[]{SUBSCRIBE_DEBT}; + String[] queues = new String[]{QUEUE_DEBT}; - for (int i = 0; i < subscripts.length; i++) { - String queueName = queues[i]; - try { - cmqUtil.createQueue(queueName); - } catch (Exception e) { - } - try { - cmqUtil.subscribeTopic(TOPIC_NAME, subscripts[i], queueName); - } catch (Exception e) { + for (int i = 0; i < subscripts.length; i++) { + String queueName = queues[i]; + try { + tdmqUtil.createQueue(queueName); + } catch (Exception e) { + } + try { + tdmqUtil.subscribeTopic(TOPIC_NAME, subscripts[i], queueName); + } catch (Exception e) { - } - } - } + } + } + } - public static UserMoneyChangeCMQManager getInstance() { - if (userMoneyChangeCMQManager == null) - userMoneyChangeCMQManager = new UserMoneyChangeCMQManager(); - return userMoneyChangeCMQManager; - } + public static UserMoneyChangeCMQManager getInstance() { + if (userMoneyChangeCMQManager == null) + userMoneyChangeCMQManager = new UserMoneyChangeCMQManager(); + return userMoneyChangeCMQManager; + } - /** - * 鍙戝竷 - * - * @param history - */ - public void addUserMoneyChangeMsg(UserMoneyChangeDTO dto) { - if (dto == null) - return; - cmqUtil.publishTopicMessage(TOPIC_NAME, new Gson().toJson(dto)); - LogHelper.test("璧勯噾娑堟伅鎶曢�掓垚鍔�"); - } + /** + * 鍙戝竷 + * + * @param dto + */ + public void addUserMoneyChangeMsg(UserMoneyChangeDTO dto) { + if (dto == null) + return; + tdmqUtil.publishTopicMessage(TOPIC_NAME, new Gson().toJson(dto)); + LogHelper.test("璧勯噾娑堟伅鎶曢�掓垚鍔�"); + } - /** - * 娑堣垂闃熷垪娑堟伅 - * - * @param queueName - * @param count - * @return - */ - public Map<String, UserMoneyChangeDTO> consumeQueueMsg(String queueName, int count) { - List<Message> list = cmqUtil.recieveMsg(count, queueName); - Map<String, UserMoneyChangeDTO> map = new HashMap<>(); + /** + * 娑堣垂闃熷垪娑堟伅 + * + * @param queueName + * @param count + * @return + */ + public Map<String, UserMoneyChangeDTO> consumeQueueMsg(String queueName, int count) { + List<Message> list = Constant.TDMQ_CONSUMER ? tdmqUtil.recieveMsg(count, queueName) : cmqUtil.recieveMsg(count, queueName); + Map<String, UserMoneyChangeDTO> map = new HashMap<>(); - if (list != null) - for (Message msg : list) { - String result = msg.msgBody; - UserMoneyChangeDTO dto = new Gson().fromJson(result, UserMoneyChangeDTO.class); - map.put(msg.receiptHandle, dto); - } - return map; - } + if (list != null) + for (Message msg : list) { + String result = msg.msgBody; + UserMoneyChangeDTO dto = new Gson().fromJson(result, UserMoneyChangeDTO.class); + map.put(msg.receiptHandle, dto); + } + return map; + } - public void deleteQueueMsg(String queueName, String receiptHandle) { - cmqUtil.deleteMsg(queueName, receiptHandle); - } + public void deleteQueueMsg(String queueName, String receiptHandle) { + if (Constant.TDMQ_CONSUMER) { + tdmqUtil.deleteMsg(queueName, receiptHandle); + } else { + cmqUtil.deleteMsg(queueName, receiptHandle); + } + } } -- Gitblit v1.8.0