Class EventBusConfig
java.lang.Object
top.magstar.framework.events.config.EventBusConfig
事件总线配置类
提供事件总线的全局配置选项,包括日志级别、事件继承、异步处理、性能监控等。 使用 Builder 模式进行配置构建。
- Since:
- 1.0.0
- Version:
- 1.0.0
- Author:
- Berry_so
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic EventBusConfig.Builderbuilder()创建配置构建器static EventBusConfig获取默认配置实例long获取异步处理器的超时时间(毫秒)int获取最大处理器数量限制int获取异步处理器线程池大小boolean是否启用事件继承boolean是否启用性能指标收集boolean是否启用详细日志boolean是否等待异步处理器完成
-
Method Details
-
defaultConfig
获取默认配置实例返回一个使用所有默认值的配置对象:
- verbose: false
- enableInheritance: true
- waitForAsync: false
- asyncTimeoutMs: 5000
- maxHandlers: 10000
- threadPoolSize: CPU 核心数
- enableMetrics: true
- Returns:
- 默认配置实例
-
builder
-
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:
- 是否启用性能指标收集
-