首页 文章

Siddhi覆盖eventTimestamp

提问于
浏览
0

我在WSO2 Siddhi CEP中关注了Source:

@source(type='kafka',
    topic.list='userInfo',
    partition.no.list='0',
    threading.option='single.thread',
    group.id="threadAccessor",
    bootstrap.servers='localhost:9092',
    @map(type='json', @attributes(USERID = '$.USERID', tst = '$.TST', ACTIVITY = '$.ACTIVITY', AVG_HBR = '$.AVG_HBR')))
define stream SweetProductionStream (USERID string, tst long, ACTIVITY string, AVG_HBR int);

有没有办法覆盖函数 eventTimestamp() 使用映射返回的值?有可能吗?我知道它适用于 externalTimeWindow ,但我想使用自己的时间戳进行模式查找 .

谢谢 .

1 回答

  • 0

    事件的时间戳是不可变的,您只能使用 eventTimestamp() 访问其时间戳 . 如果您需要使用自己的时间戳,请将其作为流中的属性并使用它 .

    我不确定你在源头上想要实现的目标 . 您可以在消息中传递时间戳并将其提取出来,并将其用作属性 . 您可以在处理externalTimeWindow时传递此属性,也可以在使用模式时使用该属性并定义时基条件以及其他条件 .

相关问题