Is there a way to send a bunch of events into Esper and get back a notification when it is done with processing all events?
As discussed before, there is no internal event queue, and the application threads process all events. Esper does not have a built-in mechanism to bunch up messages, however the Java concurrent library provides very good infrastructure to do this. A bunch of messages can be collected into a list, and a threadpool (see java.util.concurrent.Executors) and Callable, that takes the list and sends the events to Esper, could be used here, for example. Our benchmark kit provides an example built upon concurrent queues and thread pools.