Java OrderCmdContainer: 单例模式订单命令容器实现

该类是一个Java单例类,用于存储订单命令的容器。它包括以下主要功能:

  1. 提供一个静态方法getInstance()来获取该类的唯一实例。
  2. 使用一个阻塞队列(BlockingQueue)来存储订单命令(OrderCmd)对象。
  3. 提供一个cache方法,用于将订单命令对象放入队列中。
  4. 提供一个size方法,用于获取队列中的订单命令数量。
  5. 提供一个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()来获取该类的唯一实例,并使用其提供的方法对订单命令进行操作。

Java OrderCmdContainer: 单例模式订单命令容器实现

原文地址: https://www.cveoy.top/t/topic/pupW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录