Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
- kbuilder.add( ResourceFactory.newByteArrayResource(drl.getBytes()), ResourceType.DRL);
- if ( kbuilder.hasErrors() ) {
- fail( kbuilder.getErrors().toString() );
- }
- KieBaseConfiguration config = KieServices.Factory.get().newKieBaseConfiguration();
- config.setOption( EventProcessingOption.STREAM );
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(config);
- kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
- KieSessionConfiguration conf = KieServices.Factory.get().newKieSessionConfiguration();
- conf.setOption( ClockTypeOption.get("pseudo") );
- ksession = kbase.newStatefulKnowledgeSession(conf, null);
- SessionPseudoClock clock = ksession.getSessionClock();
- //Initializing some rule globals
- ksession.setGlobal("firstFoundList", new HashMap<String, String>());
- ksession.setGlobal("firstFoundIdList", new HashMap<String, Integer>());
- //array used to capture the matches inside the rule
- ksession.setGlobal("matchCollector", new ArrayList<String>());
- new Thread(new Runnable() {
- public void run() {
- ksession.fireUntilHalt();
- }
- }).start();
- for (Event e: events){
- ksession.getEntryPoint(STREAM).insert(new AnEvent(e));
- //Thread.sleep(1000);
- clock.advanceTime( 1, TimeUnit.SECONDS );
- System.out.println("event inserted:"+e.getId());
- }
- <dependencies>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-core</artifactId>
- <version>7.0.0.Beta5</version>
- </dependency>
- <dependency>
- <groupId>org.drools</groupId>
- <artifactId>drools-compiler</artifactId>
- <version>7.0.0.Beta5</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.6</version>
- </dependency>
- </dependencies>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement