Package io.rong.imkit.feature.expose

## 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

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `public interface` | `ExposeBatchSubmitManager.BatchResultCallback` | 批量提交结果回调接口

  - ### 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 将立即停止所有任务处理， 所有待处理的数据将被清除，不会再继续执行