Interface EventPublisher


public interface EventPublisher
事件发布器接口 - 定义事件发布的标准API
Since:
1.0.0
Version:
1.0.0
Author:
Berry_so
  • Method Details

    • publish

      <T> EventResult publish(T event)
      同步发布事件
      Type Parameters:
      T - 事件类型
      Parameters:
      event - 要发布的事件对象
      Returns:
      事件处理结果
      Throws:
      EventPublishException - 发布失败时抛出
    • publish

      <T> EventResult publish(T event, EventMetadata metadata)
      同步发布事件(带元数据)
      Type Parameters:
      T - 事件类型
      Parameters:
      event - 要发布的事件对象
      metadata - 事件元数据
      Returns:
      事件处理结果
      Throws:
      EventPublishException - 发布失败时抛出
    • publishAsync

      <T> CompletableFuture<EventResult> publishAsync(T event)
      异步发布事件
      Type Parameters:
      T - 事件类型
      Parameters:
      event - 要发布的事件对象
      Returns:
      包含事件处理结果的 CompletableFuture
    • publishAsync

      <T> CompletableFuture<EventResult> publishAsync(T event, EventMetadata metadata)
      异步发布事件(带元数据)
      Type Parameters:
      T - 事件类型
      Parameters:
      event - 要发布的事件对象
      metadata - 事件元数据
      Returns:
      包含事件处理结果的 CompletableFuture
    • publishBatch

      default CompletableFuture<List<EventResult>> publishBatch(List<?> events)
      批量发布多个事件
      Parameters:
      events - 事件列表
      Returns:
      包含所有事件处理结果的 CompletableFuture
    • publishAndWait

      default <T> EventResult publishAndWait(T event, long timeoutMs) throws TimeoutException, EventPublishException
      发布事件并等待所有处理器完成
      Type Parameters:
      T - 事件类型
      Parameters:
      event - 要发布的事件对象
      timeoutMs - 超时时间(毫秒)
      Returns:
      事件处理结果
      Throws:
      TimeoutException - 超时时抛出
      EventPublishException - 发布失败时抛出