在EPL在线测试中使用ESPER时间戳

时间:2018-03-16 07:43:46

标签: sql esper epl nesper

我有一个简单的问题,我在stackoverflow或ESPERTECH网站上找不到任何ansers。我的计划是编写一个ESPER CEP引擎来检查实时系统中的值。要在编辑规则后检查规则是否正确, 我已经在数据库中记录了一些测试用例,规则应该明确地触发。所有传感器值都在一个表格中:

+---------------+-----------------+--------------+-------------+-----------------+----+
| timestamp     | temp_livingroom | temp_bedroom | temp_garden | humidity_garden | id |
+---------------+-----------------+--------------+-------------+-----------------+----+
| 1521044250000 | 15              | 15           | 10          | 50              | 1  |
+---------------+-----------------+--------------+-------------+-----------------+----+
| 1521044260000 | 20              | 15           | 15          | 30              | 2  |
+---------------+-----------------+--------------+-------------+-----------------+----+
| 1521044270000 | 25              | 20           | 17.5        | 25              | 3  |
+---------------+-----------------+--------------+-------------+-----------------+----+

是否可以以这种格式获取事件数据:

SensorVal={id=1, timestamp =1521044250000, temp_livingroom = 15,  temp_bedroom = 15, temp_garden = 10, humidity_garden = 50 }
SensorVal={id=1, timestamp =1521044260000, temp_livingroom = 20,  temp_bedroom = 15, temp_garden = 15, humidity_garden = 30 }

在EPL在线试用中以任何方式将其用作输入流,以便我可以立即使用它并将时间戳用作“esper-time”? 我想避免使用t.plus(10秒),因为我必须手动添加它。

1 个答案:

答案 0 :(得分:0)

听起来你想使用Junit自动化测试。您可以像Esper那样制作自动化测试,并且可以在Esper test suite

找到Espers测试

将数据库行转换为EPL-Online的一些指令可以通过自定义代码完成。