From dc51e6bf7f20b2786bd16dc3e951ab8a299f4a34 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 09 八月 2023 09:32:12 +0800
Subject: [PATCH] 接口频率限制注解

---
 src/main/java/com/zy/core/cache/MessageQueue.java |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/core/cache/MessageQueue.java b/src/main/java/com/zy/core/cache/MessageQueue.java
index 8bb9d7c..cf6e475 100644
--- a/src/main/java/com/zy/core/cache/MessageQueue.java
+++ b/src/main/java/com/zy/core/cache/MessageQueue.java
@@ -1,5 +1,6 @@
 package com.zy.core.cache;
 
+import com.zy.asrs.utils.CommandUtils;
 import com.zy.core.Slave;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.Task;
@@ -16,7 +17,7 @@
 public class MessageQueue {
 
     // 鍫嗗灈鏈簃q浜ゆ崲鏈�
-    private static final Map<Integer, ConcurrentLinkedQueue<Task>> CRN_EXCHANGE = new ConcurrentHashMap<>();
+    private static final Map<Integer, LinkedBlockingQueue<Task>> CRN_EXCHANGE = new ConcurrentHashMap<>();
     // 杈撻�佺嚎mq浜ゆ崲鏈�
     private static final Map<Integer, ConcurrentLinkedQueue<Task>> DEVP_EXCHANGE = new ConcurrentHashMap<>();
     // 鏉$爜鎵弿浠猰q浜ゆ崲鏈�
@@ -34,7 +35,7 @@
     public static void init(SlaveType type, Slave slave) {
         switch (type) {
             case Crn:
-                CRN_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>());
+                CRN_EXCHANGE.put(slave.getId(), new LinkedBlockingQueue<>(1));
                 break;
             case Devp:
                 DEVP_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>());
@@ -61,6 +62,7 @@
      * 濡傛灉鍙戠幇闃熷垪宸叉弧鏃犳硶娣诲姞鐨勮瘽锛屼細鐩存帴杩斿洖false銆�
      */
     public static boolean offer(SlaveType type, Integer id, Task task) {
+        CommandUtils.offer(type, id, task);
         switch (type) {
             case Crn:
                 return CRN_EXCHANGE.get(id).offer(task);
@@ -127,6 +129,7 @@
     public static void clear(SlaveType type, Integer id){
         switch (type) {
             case Crn:
+                
                 CRN_EXCHANGE.get(id).clear();
                 break;
             case Devp:

--
Gitblit v1.9.1