Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Guava事件总线内存限制_Java_Guava_Event Bus - Fatal编程技术网

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;
}