Как очистить окно CEP

Я хотел заблокировать одно и то же событие (с одинаковым заголовком), дважды входящее в поток inOrg. Поэтому я использовал «первое уникальное» окно. Но в какой-то момент это выдаст ошибку нехватки памяти. Я хочу очистить первое уникальное окно, если оно содержит более 1000 событий. Как я могу это сделать?

Это план выполнения.

@Plan:name('ExecutionPlan')

@Import('instream:1.0.0')
define stream inOrg (meta_title string, meta_link string,     meta_description string, meta_item string);

@Export('outstream:1.0.0')
define stream out (meta_id int, meta_key string, meta_title string, meta_link string);

@From(eventtable='rdbms', datasource.name='EX_DB', table.name='table')
define table EventTypeTable (meta_id int, meta_key string);

from inOrg#window.firstUnique(meta_title)
select meta_title, meta_link, meta_description, meta_item
insert into in;

from in join EventTypeTable
select meta_id, meta_key, meta_title, meta_link , meta_description, meta_item
insert into StreamTemp;

from StreamTemp [(regex:find(str:lower(meta_key),str:lower(meta_title)) or regex:find(str:lower(meta_key),str:lower(meta_description))) ]
            select meta_id, meta_key, meta_title, meta_link
            insert into out;

person Ramindu Rusara Senarath    schedule 05.09.2016    source источник


Ответы (2)


Раминду,

К сожалению, нет такой прямой конфигурации для FirstUniqueQindow.

Это происходит из-за того, что вы отправляете большое количество уников, которые не можете удержать в памяти. Если количество уникальных элементов не растет бесконечно, вы можете попробовать один простой вариант — увеличить объем памяти JVM. Для этого откройте CEP_HOME/bin/wso2server.sh и соответствующим образом отредактируйте аргументы памяти JVM.

Пример: -Xms2048m -Xmx4096m -XX:MaxPermSize=1024m \

Но если вы все еще хотите очистить уникальное окно, а это значит, что вам нужно сохранить только последние 1000 уникальных событий, боюсь, прямого пути нет. Вам нужно будет улучшить текущую реализацию [1], чтобы поддержать это. Такая возможность для мышей нужна и в основном приветствуется!! Если вы готовы внести свой вклад, отправьте письмо по адресу [email protected], и мы сможем продолжить обсуждение там.

[1] https://github.com/wso2/siddhi/blob/master/modules/siddhi-core/src/main/java/org/wso2/siddhi/core/query/processor/stream/окно/FirstUniqueWindowProcessor.java

person Tishan    schedule 05.09.2016

В настоящее время эта функция доступна для последних уникальных событий[1]. вы можете создать jira для отслеживания функции или внести свой вклад в кодовую базу[2].

[1] https://docs.wso2.com/display/SIDDHIEXTENSIONS/UniqueLength+Window< /а>

[2] https://github.com/wso2-extensions/siddhi-window-unique-length

person HM.Rajjaz    schedule 05.09.2016