|
@@ -42,7 +42,7 @@ public class QueueUtils {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 获取一个普通队列数据 没有数据返回 null
|
|
|
+ * 通用获取一个队列数据 没有数据返回 null(不支持延迟队列)
|
|
|
*
|
|
|
* @param queueName 队列名
|
|
|
*/
|
|
@@ -52,13 +52,21 @@ public class QueueUtils {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 删除普通队列数据
|
|
|
+ * 通用删除队列数据(不支持延迟队列)
|
|
|
*/
|
|
|
public static <T> boolean removeQueueObject(String queueName, T data) {
|
|
|
RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName);
|
|
|
return queue.remove(data);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 通用销毁队列 所有阻塞监听 报错(不支持延迟队列)
|
|
|
+ */
|
|
|
+ public static <T> boolean destroyQueue(String queueName) {
|
|
|
+ RBlockingQueue<T> queue = CLIENT.getBlockingQueue(queueName);
|
|
|
+ return queue.delete();
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 添加延迟队列数据 默认毫秒
|
|
|
*
|
|
@@ -113,17 +121,6 @@ public class QueueUtils {
|
|
|
delayedQueue.destroy();
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 尝试设置 优先队列比较器 用于排序优先级
|
|
|
- *
|
|
|
- * @param queueName 队列名
|
|
|
- * @param comparator 比较器
|
|
|
- */
|
|
|
- public static <T> boolean trySetPriorityQueueComparator(String queueName, Comparator<T> comparator) {
|
|
|
- RPriorityBlockingQueue<T> priorityBlockingQueue = CLIENT.getPriorityBlockingQueue(queueName);
|
|
|
- return priorityBlockingQueue.trySetComparator(comparator);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 尝试设置 优先队列比较器 用于排序优先级
|
|
|
*
|
|
@@ -134,7 +131,7 @@ public class QueueUtils {
|
|
|
public static <T> boolean trySetPriorityQueueComparator(String queueName, Comparator<T> comparator, boolean destroy) {
|
|
|
RPriorityBlockingQueue<T> priorityBlockingQueue = CLIENT.getPriorityBlockingQueue(queueName);
|
|
|
if (priorityBlockingQueue.isExists() && destroy) {
|
|
|
- destroyPriorityQueueObject(queueName);
|
|
|
+ destroyQueue(queueName);
|
|
|
}
|
|
|
return priorityBlockingQueue.trySetComparator(comparator);
|
|
|
}
|
|
@@ -150,32 +147,6 @@ public class QueueUtils {
|
|
|
return priorityBlockingQueue.offer(data);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 获取一个优先队列数据 没有数据返回 null
|
|
|
- *
|
|
|
- * @param queueName 队列名
|
|
|
- */
|
|
|
- public static <T> T getPriorityQueueObject(String queueName) {
|
|
|
- RPriorityBlockingQueue<T> priorityBlockingQueue = CLIENT.getPriorityBlockingQueue(queueName);
|
|
|
- return priorityBlockingQueue.poll();
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 删除优先队列数据
|
|
|
- */
|
|
|
- public static <T> boolean removePriorityQueueObject(String queueName, T data) {
|
|
|
- RPriorityBlockingQueue<T> priorityBlockingQueue = CLIENT.getPriorityBlockingQueue(queueName);
|
|
|
- return priorityBlockingQueue.remove(data);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 销毁优先队列
|
|
|
- */
|
|
|
- public static boolean destroyPriorityQueueObject(String queueName) {
|
|
|
- RPriorityBlockingQueue<?> priorityBlockingQueue = CLIENT.getPriorityBlockingQueue(queueName);
|
|
|
- return priorityBlockingQueue.delete();
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 尝试设置 有界队列 容量 用于限制数量
|
|
|
*
|
|
@@ -197,7 +168,7 @@ public class QueueUtils {
|
|
|
public static <T> boolean trySetBoundedQueueCapacity(String queueName, int capacity, boolean destroy) {
|
|
|
RBoundedBlockingQueue<T> boundedBlockingQueue = CLIENT.getBoundedBlockingQueue(queueName);
|
|
|
if (boundedBlockingQueue.isExists() && destroy) {
|
|
|
- destroyBoundedQueueObject(queueName);
|
|
|
+ destroyQueue(queueName);
|
|
|
}
|
|
|
return boundedBlockingQueue.trySetCapacity(capacity);
|
|
|
}
|
|
@@ -214,32 +185,6 @@ public class QueueUtils {
|
|
|
return boundedBlockingQueue.offer(data);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 获取一个有界队列数据 没有数据返回 null
|
|
|
- *
|
|
|
- * @param queueName 队列名
|
|
|
- */
|
|
|
- public static <T> T getBoundedQueueObject(String queueName) {
|
|
|
- RBoundedBlockingQueue<T> boundedBlockingQueue = CLIENT.getBoundedBlockingQueue(queueName);
|
|
|
- return boundedBlockingQueue.poll();
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 删除有界队列数据
|
|
|
- */
|
|
|
- public static <T> boolean removeBoundedQueueObject(String queueName, T data) {
|
|
|
- RBoundedBlockingQueue<T> boundedBlockingQueue = CLIENT.getBoundedBlockingQueue(queueName);
|
|
|
- return boundedBlockingQueue.remove(data);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 销毁有界队列
|
|
|
- */
|
|
|
- public static boolean destroyBoundedQueueObject(String queueName) {
|
|
|
- RBoundedBlockingQueue<?> boundedBlockingQueue = CLIENT.getBoundedBlockingQueue(queueName);
|
|
|
- return boundedBlockingQueue.delete();
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 订阅阻塞队列(可订阅所有实现类 例如: 延迟 优先 有界 等)
|
|
|
*/
|