Drools 6 Обнаружение изменений файла DRL

Я новичок в слюнях, и я работаю над проектом, в котором мне нужно, чтобы движок слюни понимал, что файл drl обновлен, и перестраивал его правила. Я изучал использование сканера kie, но это выглядит беспорядочно и требует maven и git. Для краткости, давайте просто предположим, что наш репозиторий maven недоступен для этого использования. Можно ли направить сканер (или что-то еще) на файл drl, находящийся в файловой системе, и обновить проект, если этот файл будет обновлен?


person Nixx    schedule 25.02.2014    source источник


Ответы (1)


Если вы не хотите использовать встроенную функцию сканирования, существует служба Java WatchService, которая будет предоставлять уведомления об изменениях в каталогах и восстанавливать вашу базу знаний при наличии изменений:

http://docs.oracle.com/javase/tutorial/essential/io/notification.html

Восстановление базы знаний подразумевает лишь уничтожение существующей базы знаний и создание новой.

Изменить - я ранее упоминал об использовании опроса потребителей файлов Spring Integration или Camel. Это больше для перетаскивания файла в каталог, из которого он будет взят, обработан и, как правило, удален из этого каталога. Это не очень подходит, если намерение состоит в том, чтобы модифицировать файлы DRL на месте и ожидать перезагрузки базы знаний в ответ на эти изменения.

person Steve    schedule 26.02.2014
comment
Звучит многообещающе. Есть ли где-то ссылка, в которой говорится о том, чтобы сделать что-то подобное? Или общий справочник об инструментах, которые я нашел бы полезными, если бы попытался это сделать? - person Nixx; 26.02.2014