zoukankan      html  css  js  c++  java
  • esper(4-2)-Category Context

    语法:

    create context context_name
    group [by] group_expression as category_label
    [, group [by] group_expression as category_label]
    [, ...]
    from stream_def

    例子:

    create context esbtest group by id<0 as low, group by id>0 and id<10 as middle,group by id>10 as high from com.ebc.category.User
    context esbtest select context.id,context.name,context.label, amount from com.ebc.category.User
    
    --监听器
    Console.log("context.name=" + event.get("name") + ", " +
                                "context.id=" + event.get("id") + ", " +
                                "context.label=" + event.get("label"));
    
    --发送事件
    User u1 = new User(1,20);
    Console.log("sendEvent: id={},amount={}",u1.getId(),u1.getAmount());
    runtime.sendEvent(u1);
    User u2 = new User(0,30);
    Console.log("sendEvent: id={},amount={}",u2.getId(),u2.getAmount());
    runtime.sendEvent(u2);
    User u3 = new User(11,20);
    Console.log("sendEvent: id={},amount={}",u3.getId(),u3.getAmount());
    runtime.sendEvent(u3);
    
    User u4 = new User(-1,40);
    Console.log("sendEvent: id={},amount={}",u4.getId(),u4.getAmount());
    runtime.sendEvent(u4);

    输出

    sendEvent: id=1,amount=20
    context.name=esbtest, context.id=1, context.label=middle
    sendEvent: id=0,amount=30
    sendEvent: id=11,amount=20
    context.name=esbtest, context.id=2, context.label=high
    sendEvent: id=-1,amount=40
    context.name=esbtest, context.id=0, context.label=low

    id=0的事件,没有触发监听器,因为context里的三个category没有包含id=0的情况,所以这个事件就被排除掉了。

  • 相关阅读:
    获取文件当前目录及其大小
    PLC工作原理动图,一图搞懂一个原理
    欧拉角的详解
    欧拉角的详解
    PLC/Pragmas
    ASCII码对照表
    C++ 的关键字(保留字)完整介绍
    C++ 基本语法
    pytorch笔记1
    pytorchnum_flat_features(x)
  • 原文地址:https://www.cnblogs.com/yaoyuan2/p/10601495.html
Copyright © 2011-2022 走看看