Esper позволяет вносить изменения в наборы утверждений, но не в отдельные утверждения. Другими словами, вы можете развернуть (создать операторы EPL) и отменить (удалить операторы EPL) столько, сколько вам нужно, на лету и во время работы, однако существующие операторы EPL не могут быть изменены. Слушатели, подписчики, переменные, сценарии, сервисы и т. Д., И конечно, могут быть изменены.
Причина, по которой вы не можете изменить утверждение, состоит в том, что утверждение может и часто имеет какое-то состояние. Как сказать select count(*) from Event
; Это считается государством. Предполагая, что это должно было измениться на select count(*), avg(price) from Event
, теперь выбирая счетчик и среднее значение, среда выполнения на самом деле не запоминает никаких событий, поэтому среднее значение не может быть рассчитано ретроспективно.
РАЗЪЯСНЕНИЕ: С "deploy" и "undeploy" я НЕ имею в виду развертывать и отменять развертывание всего приложения. Я имею в виду просто создать несколько новых операторов EPL и удалить некоторые операторы EPL на лету без остановки / запуска приложения.