Java Guava事件总线内存限制
我用一个订阅者实现了一个单例Java Guava事件总线内存限制,java,guava,event-bus,Java,Guava,Event Bus,我用一个订阅者实现了一个单例EventBus。我的应用程序有多个生产者(任何请求都可以是生产者) 我找不到如何为EventBus设置事件数限制(如何为EventBus设置内存限制)以及如果生成的事件数大于EventBus容量会发生什么 我想EventBus抛出一个异常来记录失败。无需设置内存限制。它是安全的,因为EventBus在无状态下工作 在单个线程中,EventBus每次EventBus.post()完成后都会清理事件队列,因此在单个线程中是安全的 在多线程中,EventBus为每个线程使
EventBus
。我的应用程序有多个生产者(任何请求都可以是生产者)
我找不到如何为EventBus
设置事件数限制(如何为EventBus
设置内存限制)以及如果生成的事件数大于EventBus
容量会发生什么
我想
EventBus
抛出一个异常来记录失败。无需设置内存限制。它是安全的,因为EventBus
在无状态下工作
在单个线程中,EventBus
每次EventBus.post()
完成后都会清理事件队列,因此在单个线程中是安全的
在多线程中,
EventBus
为每个线程使用独立的事件队列 无需设置内存限制。它是安全的,因为EventBus
在无状态下工作
在单个线程中,EventBus
每次EventBus.post()
完成后都会清理事件队列,因此在单个线程中是安全的
在多线程中,
EventBus
为每个线程使用独立的事件队列 那么队列限制基本上就是服务器内存限制?它试图填充队列,直到没有内存为止?通过多线程EventBus,您是在谈论AsyncEventBus吗?那么队列限制基本上就是服务器内存限制?它试图填充队列,直到没有内存为止?通过多线程EventBus,您是在谈论AsyncEventBus吗?
@Bean
public EventBus eventBus() {
EventBus eventBus = new EventBus();
eventBus.register(new MyEventHandler());
return eventBus;
}