首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Esper CEP中更改运行时的EPL语句

在Esper CEP中更改运行时的EPL语句
EN

Stack Overflow用户
提问于 2019-01-06 21:50:35
回答 1查看 279关注 0票数 0

目前,我在Java环境中使用Esper8来使用CEP。最近,我问自己是否有可能在运行时更改EPL语句。例如,如果您有一个使用EPL语句运行的Esper CEP,并且您希望在不中断CEP运行时的情况下更改此EPL语句。因此,使用新的EPL语句或相同语句的SQL查询每隔x分钟更新一次EPL语句。这是可能的吗?或者每次更改EPL语句时,我都必须中断Java运行时,更改EPL语句并重新启动CEP吗?也许这个问题听起来很愚蠢,但我对Esper CEP还知之甚少。

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-06 22:54:03

Esper允许您对语句集进行更改,但不能对单个语句进行更改。换句话说,您可以在运行时根据需要部署(创建EPL语句)和取消部署(删除EPL语句),但是现有的EPL语句是不可修改的。侦听器、订阅者、变量、脚本、服务等和扩展代码当然可以更改。

它不允许您更改语句的原因是,一条语句可能并且通常确实具有某种状态。比如select count(*) from Event;这可以算作一个状态。假设更改为select count(*), avg(price) from Event,现在选择计数和平均值,运行时实际上不会记住任何事件,因此无法回溯计算平均值。

澄清:使用“部署”和“取消部署”并不意味着部署和取消部署整个应用程序。我的意思只是创建一些新的EPL语句,并在没有任何应用程序停止/启动的情况下动态删除一些EPL语句。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54062158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档