일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- gwt-ext
- java tip
- COC
- maven
- querydsl
- spring security
- gwt
- JBoss Seam
- jstl
- spring jpa
- MySQL
- zabbix
- CEP
- rember me
- jquery
- jquery serialize
- GEventEvaluator
- Hudson
- JPA
- drools
- @SqlResultSetMapping
- spring transaction
- Drools Fusion
- jenkins
- custom filter
- ibatis
- guvnor
- Spring
- SVN
- bootstrap jquery datepicker
- Today
- Total
봉 블로그
Drools Fusion (CEP) 본문
뭐하는 놈이지?
Drools Fusion은 CEP(Complex Event Processing) 처리를 위해 Drools에서 제공하는 기능이다. 별도의 컴포넌트로 제공되지 않는다. 별도의 컴포넌트가 필요없는것이, CEP 의 use case 대부분이 이미 Drools 의 use case 와 다르지 않기 때문이다. Drools 는 이미 Complex Event 를 rule로서 처리해왔으며 여기에 event stream processing 기능을 추가하여 Drools Fusion을 만들었다.
어떻게 사용하지?
STREAM mode 설정
Drools 는 CLOUD mode 가 default 로 사용된다. Drools Fusion 기능을 사용하기 위해서는 아래와 같이 STREAM mode 로 설정한다.
또는 kmodule.xml 의 eventProcessMode를 설정한다.
또는 아래와 같이 system property 를 설정할수도 있다.
Event 정의 및 Time window 사용
위 예시는 하루동안 (window:time(24h)) status 가 Message.HELLO 인 Message event 의 개수가 3개이상일때 해당 event 개수를 출력하는 rule sample 이다. window:time(24h) 와 함께 사용할 event 는 상단에 @role(event) 로서 정의되어야 한다.
Length window
time window 대신 최근 발생한 event 개수를 기준으로 처리할수도 있다.
아래는 'RHT'라는 회사의 가장 최근 10개의 StockTick event 를 가져온다.
실행 방법은
여기를 참고 : http://idkbj.tistory.com/119
미래의 event 는 지금보다 훨씬 복잡한 이벤트 처리가 요구되어질것이다. Drools Fusion 은 이미 그 준비가 되어 있다 하겠다.
참고 url:
http://docs.jboss.org/drools/release/6.3.0.Final/drools-docs/html_single/index.html#DroolsComplexEventProcessingChapter