Динамическое значение для времени окна wso2 CEP

Я пробую WSO2 CEP для нашего нового требования. В настоящее время я написал запрос, чтобы найти события тайм-аута.

из InputStream#window.time(5 минут) выберите * вставить в TimeoutRequest для событий с истекшим сроком действия.

Но мое требование заключается в том, что 5 минут, указанные во временном окне, будут варьироваться в зависимости от каждого запроса. Какой-то запрос должен получить тайм-аут через 5 минут, а какой-то через 10 минут. Как передать динамическое значение для window.time(n минут). Если мы можем сделать это с помощью Custom Transformer или Custom Window, я не понимаю, как это сделать.


person Jagan Vittal    schedule 28.09.2015    source источник


Ответы (1)


Для реализации могут быть разные подходы:

  1. Пользовательское окно — вы можете написать свое собственное окно (расширяя временное окно), которое ищет определенный атрибут в событиях, чтобы определить их продолжительность тайм-аута.
  2. Если существует только ограниченный набор временных промежутков, вы можете просто определить окно для каждой длительности и указать входящие события в соответствующее окно с помощью фильтра. например:

    из InputStream[timeoutValue == 5]#window.time(5 минут) выберите * вставить в TimeoutRequest для событий с истекшим сроком действия

    из InputStream[timeoutValue == 10]#window.time(10 минут) выберите * вставить в TimeoutRequest для событий с истекшим сроком действия

person Rajeev Sampath    schedule 28.09.2015
comment
Большое спасибо, Раджив, но я столкнулся с проблемой создания пользовательского окна. Я скопировал все jar-файлы из библиотеки wso2 CEP, чтобы построить путь для создания пользовательского класса. Но не удалось найти импортированные классы. Можешь помочь дальше. А также как получить существующий код класса временного окна/как получить исходный код для продуктов wso2. - person Jagan Vittal; 29.09.2015
comment
будет проще создать проект maven и добавить туда зависимости. проверьте эту ссылку для зависимостей для CEP 4.0.0 и необходимых репозиториев: 1884a06c274f6928e678 - person Rajeev Sampath; 29.09.2015