Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
  2. kbuilder.add( ResourceFactory.newByteArrayResource(drl.getBytes()), ResourceType.DRL);
  3. if ( kbuilder.hasErrors() ) {
  4. fail( kbuilder.getErrors().toString() );
  5. }
  6.  
  7. KieBaseConfiguration config = KieServices.Factory.get().newKieBaseConfiguration();
  8. config.setOption( EventProcessingOption.STREAM );
  9.  
  10.  
  11. KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(config);
  12. kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
  13.  
  14.  
  15. KieSessionConfiguration conf = KieServices.Factory.get().newKieSessionConfiguration();
  16. conf.setOption( ClockTypeOption.get("pseudo") );
  17. ksession = kbase.newStatefulKnowledgeSession(conf, null);
  18.  
  19.  
  20.  
  21.  
  22. SessionPseudoClock clock = ksession.getSessionClock();
  23.  
  24. //Initializing some rule globals
  25. ksession.setGlobal("firstFoundList", new HashMap<String, String>());
  26. ksession.setGlobal("firstFoundIdList", new HashMap<String, Integer>());
  27.  
  28. //array used to capture the matches inside the rule
  29. ksession.setGlobal("matchCollector", new ArrayList<String>());
  30.  
  31.  
  32. new Thread(new Runnable() {
  33.  
  34. public void run() {
  35. ksession.fireUntilHalt();
  36. }
  37. }).start();
  38.  
  39.  
  40. for (Event e: events){
  41. ksession.getEntryPoint(STREAM).insert(new AnEvent(e));
  42. //Thread.sleep(1000);
  43. clock.advanceTime( 1, TimeUnit.SECONDS );
  44. System.out.println("event inserted:"+e.getId());
  45. }
  46.  
  47. <dependencies>
  48.  
  49. <dependency>
  50. <groupId>org.drools</groupId>
  51. <artifactId>drools-core</artifactId>
  52. <version>7.0.0.Beta5</version>
  53. </dependency>
  54.  
  55. <dependency>
  56. <groupId>org.drools</groupId>
  57. <artifactId>drools-compiler</artifactId>
  58. <version>7.0.0.Beta5</version>
  59. </dependency>
  60.  
  61. <dependency>
  62. <groupId>junit</groupId>
  63. <artifactId>junit</artifactId>
  64. <version>4.12</version>
  65. </dependency>
  66.  
  67. <dependency>
  68. <groupId>commons-lang</groupId>
  69. <artifactId>commons-lang</artifactId>
  70. <version>2.6</version>
  71. </dependency>
  72.  
  73. </dependencies>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement