即使在设置 batchsize 之后,AEQ 也会为每次调用触发处理事件方法

Even after setting batchsize, AEQ process events method triggering for every call

我在 AsyncEventQueueFactory 中配置了批量大小。但是当我更新区域数据时,每次都会调用 processEvents() 。我想在一组时间间隔后更新数据库。我是不是遗漏了什么,还是还需要做任何配置?

配置:

    Cache localcache = new CacheFactory().create();
    AsyncEventQueueFactory factory = localcache.createAsyncEventQueueFactory();
    factory.setPersistent(true);
    factory.setParallel(false);
    factory.setBatchSize(2);
    factory.setBatchTimeInterval(2);
    AsyncEventListener listener = new GemfireAsyncListener(cache);
    AsyncEventQueue asyncQueue = factory.create("sampleQueue", listener);

达到批量大小或时间间隔时,调度程序将处理队列中的一批消息。在您的特定情况下,您已将批处理间隔配置为 2 毫秒,这可能是事件几乎立即得到处理的原因。

希望这对您有所帮助。干杯。