首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在满足条件之前,如何处理消息而不离开队列?

在满足条件之前,如何处理消息而不离开队列?
EN

Stack Overflow用户
提问于 2017-03-15 00:29:23
回答 1查看 84关注 0票数 0

这是关于一个特定的用例,我计划通过flink流解决这个问题。

消息被发送到flink流处理,流被键控,从而按照预期进行分区。然而,每个键的每个消息都需要进行评估,直到满足条件,例如,假设有一个银行系统,其中需要按顺序处理帐户的帐户事务(消息),并且不可能不按顺序处理消息,因为这将导致系统状态不一致。系统需要等待消息被处理(甚至可能超过2-3天),然后才能按顺序处理下一条消息。如何在不阻塞任何可以与其他键关联的消息处理部分的情况下在flink中实现这一点?

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2017-03-15 02:04:10

你看过CEP库了吗?您可以指定如下模式:

代码语言:javascript
复制
Pattern<Event, ?> pattern = Pattern.<Event>begin("firstOfSequence").where(new FilterFunction<Event>() {
    private static final long serialVersionUID = 5726188262756267490L;

    @Override
    public boolean filter(Event value) throws Exception {
        return value.isFirstOfSequence();
    }
}).followedBy("secondOfSequence").where(new FilterFunction<Event>() {
    private static final long serialVersionUID = 5726188262756267490L;

    @Override
    public boolean filter(Event value) throws Exception {
        return value.isSecondOfSequence();
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42791474

复制
相关文章

相似问题

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