Class ExposeBatchSubmitManager

  • All Implemented Interfaces:

    
    public abstract class ExposeBatchSubmitManager<T>
    
                        

    批量提交管理器 用于将高频调用的操作进行批量处理,减少网络请求次数

    功能特性: 1. 防抖动:在指定延迟时间内的多次调用会被合并成一次提交 2. 状态机管理:使用清晰的状态转换避免竞态条件 3. 线程安全:使用统一的状态锁确保多线程安全 4. 泛型支持:支持不同类型的数据批量处理 5. 顺序保证:使用 LinkedHashSet 保持任务的插入顺序,确保先提交的任务先执行 6. 去重保证:自动去除重复任务(基于 equals 和 hashCode) 7. 连接状态感知:根据连接状态自动暂停/恢复任务处理

    状态机: IDLE ⇄ ACTIVE

    状态说明: - IDLE: 空闲状态,没有待处理数据,没有安排任务 - ACTIVE: 活跃状态,有待处理数据或正在处理中

    Since:

    5.30.0

    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      void addSubmitTask(T item) 添加数据到批量处理队列
      void release() 释放外部资源并清理内部状态 停止接收连接状态通知,取消待执行的任务,清空等待队列 适用场景:需要完全停止批量提交功能时调用 注意:调用此方法后,BatchSubmitManager 将立即停止所有任务处理, 所有待处理的数据将被清除,不会再继续执行
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • addSubmitTask

         void addSubmitTask(T item)

        添加数据到批量处理队列

        Parameters:
        item - 要添加的数据
      • release

         void release()

        释放外部资源并清理内部状态 停止接收连接状态通知,取消待执行的任务,清空等待队列 适用场景:需要完全停止批量提交功能时调用

        注意:调用此方法后,BatchSubmitManager 将立即停止所有任务处理, 所有待处理的数据将被清除,不会再继续执行