Java OrderCmdContainer: 单例模式订单命令容器实现
Java OrderCmdContainer: 单例模式订单命令容器实现
该类是一个Java单例类,用于存储订单命令的容器。它包括以下主要功能:
- 提供一个静态方法
getInstance()来获取该类的唯一实例。 - 使用一个阻塞队列(
BlockingQueue)来存储订单命令(OrderCmd)对象。 - 提供一个
cache方法,用于将订单命令对象放入队列中。 - 提供一个
size方法,用于获取队列中的订单命令数量。 - 提供一个
getAll方法,用于获取队列中的所有订单命令,并清空队列。
public class OrderCmdContainer {
private static OrderCmdContainer ourInstance = new OrderCmdContainer();
private OrderCmdContainer(){}
public static OrderCmdContainer getInstance(){
return ourInstance;
}
////////////////////////////////
private final BlockingQueue<OrderCmd> queue = new LinkedBlockingDeque<>();
public boolean cache(OrderCmd cmd){
return queue.offer(cmd);
}
public int size(){
return queue.size();
}
public List<OrderCmd> getAll(){
List<OrderCmd> msgList = Lists.newArrayList();
int count = queue.drainTo(msgList);
if(count == 0){
return null;
}else {
return msgList;
}
}
}
业务逻辑主要是将订单命令对象缓存到队列中,并提供获取订单命令数量和获取所有订单命令的功能。其他类可以通过调用OrderCmdContainer.getInstance()来获取该类的唯一实例,并使用其提供的方法对订单命令进行操作。
原文地址: https://www.cveoy.top/t/topic/pupW 著作权归作者所有。请勿转载和采集!