Class EventBusConfig

java.lang.Object
top.magstar.framework.events.config.EventBusConfig

public class EventBusConfig extends Object
事件总线配置类

提供事件总线的全局配置选项,包括日志级别、事件继承、异步处理、性能监控等。 使用 Builder 模式进行配置构建。

Since:
1.0.0
Version:
1.0.0
Author:
Berry_so
See Also:
  • Method Details

    • defaultConfig

      public static EventBusConfig defaultConfig()
      获取默认配置实例

      返回一个使用所有默认值的配置对象:

      • verbose: false
      • enableInheritance: true
      • waitForAsync: false
      • asyncTimeoutMs: 5000
      • maxHandlers: 10000
      • threadPoolSize: CPU 核心数
      • enableMetrics: true
      Returns:
      默认配置实例
    • builder

      public static EventBusConfig.Builder builder()
      创建配置构建器

      使用构建器模式自定义配置选项。

      Returns:
      配置构建器实例
    • isVerbose

      public boolean isVerbose()
      是否启用详细日志

      启用后会输出事件发布、处理器执行、性能统计等详细信息。 建议仅在开发和调试时启用。

      Returns:
      是否启用详细日志
    • isEnableInheritance

      public boolean isEnableInheritance()
      是否启用事件继承

      启用后,发布事件时会同时触发父类事件的监听器。 例如,发布 PlayerJoinEvent 时,也会触发监听 PlayerEvent 的处理器。

      Returns:
      是否启用事件继承
    • isWaitForAsync

      public boolean isWaitForAsync()
      是否等待异步处理器完成

      启用后,publish() 方法会阻塞等待所有异步处理器执行完成。 禁用时(默认),publish() 方法会立即返回,异步处理器在后台执行。

      Returns:
      是否等待异步处理器完成
    • getAsyncTimeoutMs

      public long getAsyncTimeoutMs()
      获取异步处理器的超时时间(毫秒)

      当异步处理器执行时间超过此值时,会记录警告日志。 注意:超时不会强制中断处理器执行。

      Returns:
      超时时间(毫秒)
    • getMaxHandlers

      public int getMaxHandlers()
      获取最大处理器数量限制

      单个事件类型最多可注册的处理器数量。 超过此限制时会抛出异常,防止内存泄漏。

      Returns:
      最大处理器数量
    • getThreadPoolSize

      public int getThreadPoolSize()
      获取异步处理器线程池大小

      用于执行异步事件处理器的线程池核心线程数。 默认值为 CPU 核心数。

      Returns:
      线程池大小
    • isEnableMetrics

      public boolean isEnableMetrics()
      是否启用性能指标收集

      启用后会收集事件处理器的执行时间、调用次数等性能指标。

      Returns:
      是否启用性能指标收集