2012-03-07 2 views
1

Кто-нибудь пытался интегрировать Apache Camel с Drools Fusion или просто Drools.Apache Camel и Drools Fusion Integration

Следующий мой прецедент.

  • Получайте данные из внешней службы, используя REST.
  • Фильтр данных (используя правила, определенные в Drools.)
  • Данные из внешней службы также может представлять собой поток информации (например, корма твитер, в режиме реального времени местоположение пользователя)

Любая помощь или указатели будут оценены.

Спасибо.

ответ

5

Drools имеет компонент верблюда. Использование его не сильно отличается от использования любого компонента верблюда.

источник: https://github.com/droolsjbpm/droolsjbpm-integration/tree/master/drools-camel

двоичная (в droolsjbpm-интеграционного расслоения): http://www.jboss.org/drools/downloads.html

Единственное, чтобы быть "в курсе" о том, что Drools может относиться верблюжьи сообщения как:

  1. команды
  2. обычные факты
  3. as-is объекты и переадресовать затем

Некоторые статьи:

http://blog.athico.com/search?q=camel

Документация, к сожалению, только описывает "команду" (1) использовать случай:

http://docs.jboss.org/drools/release/5.4.0.Beta2/droolsjbpm-integration-docs/html/ch01.html

Некоторые тестовые случаи, которые можно использовать в качестве примеров для (2) и (3) выше:

https://github.com/droolsjbpm/droolsjbpm-integration/tree/master/drools-camel/src/test/java/org/drools/camel/component

Надеюсь, это поможет.

+0

Спасибо. Для моего случая использования я хочу, чтобы слюни рассматривали сообщения верблюдов как «факты» и применяли мои правила фильтрации (аналогично примеру CBR Twitter). Возможно ли это без серьезных изменений? –

+0

Является ли JsonQueryTest.java правильной реализацией для варианта использования # 2? –

+0

Это, вероятно, пример, который вы хотите: https://github.com/droolsjbpm/droolsjbpm-integration/blob/master/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointActionInsertTest.java. В принципе, вы хотите связать конечную точку слюни с действием insertBody и, возможно, имя точки входа, которое вы хотите использовать для своего потока. Например: drools: // node/ksession1? Action = insertBody & entryPoint = ep1 –

Смежные вопросы