일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring transaction
- maven
- CEP
- @SqlResultSetMapping
- SVN
- gwt
- ibatis
- JBoss Seam
- COC
- custom filter
- Hudson
- jenkins
- zabbix
- drools
- jquery serialize
- Drools Fusion
- bootstrap jquery datepicker
- MySQL
- jquery
- rember me
- java tip
- spring security
- GEventEvaluator
- JPA
- guvnor
- Spring
- querydsl
- spring jpa
- jstl
- gwt-ext
- 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