Java 如何使用ImmediateDispatcher创建(异步)EventBus?

Java 如何使用ImmediateDispatcher创建(异步)EventBus?,java,guava,Java,Guava,我正在尝试创建一个带有线程池执行器的异步事件总线。我注意到,AsyncEventBus被硬编码为始终使用legacySyncDispatcher。Dispatcher.legacySync()的javadoc声明: 对于异步调度,通常最好使用即时调度程序 但是我找不到任何方法可以用Dispatcher.immediate()实际创建AsyncEventBus。然后对EventBus进行硬编码,以使用Dispatcher.perThreadDispatchQueue() 如何创建一个Immedia

我正在尝试创建一个带有
线程池执行器的
异步事件总线
。我注意到,
AsyncEventBus
被硬编码为始终使用
legacySyncDispatcher
Dispatcher.legacySync()的javadoc声明:

对于异步调度,通常最好使用即时调度程序

但是我找不到任何方法可以用
Dispatcher.immediate()
实际创建
AsyncEventBus
。然后对
EventBus
进行硬编码,以使用
Dispatcher.perThreadDispatchQueue()


如何创建一个
ImmediateDispatcher
并将其连接到
EventBus

我认为您对这个包的源代码读得太多了。请注意,因此您不能创建(甚至引用)任何类型的
调度程序的实例。因此,
Dispatcher.legacySync()
上的文档面向其他库维护人员,而不是
eventbus
包的用户

换句话说,只需使用
AsyncEventBus
并传入您希望它使用的执行器。也许有一天,维护人员会将
AsyncEventBus
的实现更改为不使用
legacySync()
,但这不会对用户产生任何影响