将参数传递给ESPER EPL查询?

时间:2015-04-06 04:49:21

标签: java parameters runtime esper

我是esper epl查询的新手。我想知道是否可以在运行时更改EPL查询。这意味着我有一个表单可以用来改变ESPER中的时间长度,记录数量。它简直就是像这样,增加epl查询中的时间长度,事件中的记录数。喜欢我想以实用方式更改参数。我想知道这是否可能,如果是,请给我一些启示提示。 感谢

1 个答案:

答案 0 :(得分:1)

根据您的实际要求,您可以使用Variables。 来自Esper Docs

  

除了通过create variable语法创建变量外,还有   运行时和引擎配置API还允许添加变量。该   下一个代码片段说明了运行时配置API的使用   创建一个字符串类型的变量:

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

然后您可以在查询中use variables。例如(再次来自Esper docs):

  

下一个语句假定一个名为' var_threshold'的变量。是   创建以保持总价格阈值。声明输出   当符号的总价格大于当前价格时的事件   门槛值:

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

因此,如果您确切知道要参数化的内容,那么您可以使查询更具动态性。