首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在事件类中将列表推入lmax中断程序

如何在事件类中将列表推入lmax中断程序
EN

Stack Overflow用户
提问于 2018-03-28 21:26:54
回答 1查看 272关注 0票数 1

我需要从mongodb存储和获取一个巨大的数据,所以我被要求使用lmax中断器来接收和存储数据--我已经花了几天时间寻找关于lmax github帐户的简单教程,但是我不太明白如何将我的特殊数据放入lmax破坏机制轮盘中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-19 20:41:00

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

如果您想要使用来自环形缓冲区(在处理程序中)的一批数据,并与批处理一起向前处理,则可以使用EventHandler和onEvent()方法的参数'endOfBatch‘。此参数是一个标志,它指示您在何处刷新缓冲区的最佳时机。我在我的项目中使用这个机制来创建一个批处理。请看下面的例子:

代码语言:javascript
复制
@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();
        }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49544441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档