2015-04-06 108 views
-1

我是esper epl查询的新手。我想知道是否可以在运行时更改EPL查询。这意味着我有一个可用于更改ESPER中的时间长度,记录数的表单。它就像这,增加在epl查询的时间长度,在事件中的记录数。同样我想以实用的方式改变参数。我想知道这是可能的,如果是的话,给我一些提示开始。 谢谢将参数传递给ESPER EPL查询?

回答

1

根据您的实际需求,您可以使用Variables。 从Esper Docs

除了通过创建变量语法创建变量,所述 运行时和发动机配置API还允许添加变量。该 下面的代码片段演示了如何使用运行时配置API 来创建一个字符串类型的变量:

epService.getEPAdministrator().getConfiguration().addVariable("myVar", String.class, "init value"); 

然后你可以use variables在查询中。例如(再次从埃斯佩尔文档):

下一个语句假定一个名为“var_threshold”变量被 创建举行总价阈值。声明输出 当总价格为象征,是大于当前 阈值的事件:

select symbol, sum(price) 
    from TickEvent group by symbol having 
    sum(price) > var_threshold 

所以,如果你确切地知道你想要参数化的东西,那么你可以让你的查询更加动态。

+0

谢谢这就是我想要的。 – Sajithv 2015-04-06 05:19:48