Java 如何在eventclass中将列表推送到lmax中断器

Java 如何在eventclass中将列表推送到lmax中断器,java,mongodb,disruptor-pattern,lmax,Java,Mongodb,Disruptor Pattern,Lmax,我需要从mongodb中存储和获取大量数据,因此我被要求使用lmax disruptor接收和存储数据。我花了几天时间阅读了有关lmax github帐户的简单教程,但我不太了解如何将我的特殊数据放入lmax disruptor机制轮中。有一个环形缓冲区。publishEvents(…)方法,该方法接受对象集合。如果要将整个批发布到环形缓冲区,可以使用此方法 如果要使用环形缓冲区(在处理程序中)中的一批数据,并用一批数据向前处理,可以将EventHandler与onEvent()方法的参数“en

我需要从mongodb中存储和获取大量数据,因此我被要求使用lmax disruptor接收和存储数据。我花了几天时间阅读了有关lmax github帐户的简单教程,但我不太了解如何将我的特殊数据放入lmax disruptor机制轮中。

有一个环形缓冲区。publishEvents(…)方法,该方法接受对象集合。如果要将整个批发布到环形缓冲区,可以使用此方法

如果要使用环形缓冲区(在处理程序中)中的一批数据,并用一批数据向前处理,可以将EventHandler与onEvent()方法的参数“endOfBatch”一起使用。此参数是一个标志,显示刷新缓冲区的最佳时间。我在项目中使用此机制创建批处理。请看下面的例子:

@Component
public class MyHandler implements EventHandler<Event> {
    private List<Event> batchOfEvents = new LinkedList<>();

    @Override
    public void onEvent(Event Event, long sequence, boolean endOfBatch) throws Exception {
        // Add message to batch
        batchOfEvents.add(event);

        if (endOfBatch && !batchOfEvents.isEmpty()) {
            // Feed your batch to some Mongo DB dao or any other service
            someService.process(batchOfEvents);
            batchOfEvents.clear();
        }
}
@组件
公共类MyHandler实现EventHandler{
private List batchOfEvents=new LinkedList();
@凌驾
public void onEvent(事件、长序列、布尔endOfBatch)引发异常{
//将消息添加到批处理
batchOfEvents.add(事件);
if(endOfBatch&!batchOfEvents.isEmpty()){
//将批处理提供给Mongo DB dao或任何其他服务
someService.process(批事件);
批事件。清除();
}
}