我实现了一个具有一个订阅者的单例EventBus。我的应用程序有许多生产者(任何请求都可以是生产者)。
@Bean
public EventBus eventBus() {
EventBus eventBus = new EventBus();
eventBus.register(new MyEventHandler());
return eventBus;
}我不知道如何为EventBus设置事件数量限制(如何为EventBus设置内存限制),以及如果产生的事件数量大于EventBus容量时会发生什么。
我希望EventBus抛出一个异常来记录失败。
发布于 2015-08-14 11:25:10
不需要设置内存限制。它是安全的,因为EventBus工作于无状态。
在单线程中,每次EventBus.post()完成时,EventBus都会清理事件队列,因此在单线程中是安全的。
在多线程中,EventBus对每个线程使用独立的事件队列。
https://stackoverflow.com/questions/32000199
复制相似问题