Hi, I read docs about global and Hibernate to access your DB from the rules. I tried something simular for in memory DAO's. But some rules fire ("WM" in RHS) as the DAO has 3 items, but others ("dao" in LHS) don't, how is that possible?
global RepositoryFactory repFact; rule "dao" when k : Customer( ) from repFact.getCustomerRepository().findAll(); then System.out.println( "Drools "+drools.getRule().getName()+": " +k.getName()); end rule "WM" when k : Customer( ) ; then System.out.println( "Drools "+drools.getRule().getName()+": " +k.getName()+" + size: "+repFact.getCustomerRepository().findAll().size()); end ... RepositoryFactory repFact = Registry.getRepositoryFactory(); ksession.setGlobal("repFact", repFact); ... CustomerRepository customerRepo = Registry.getRepositoryFactory() .getCustomerRepository(); customerRepo.add(tom); customerRepo.add(elise); customerRepo.add(bert); ksession.insert(bert); ksession.fireAllRules(); ... Output: Drools WM: Bert + size: 3 br, Els -- View this message in context: http://drools.46999.n3.nabble.com/global-as-link-to-DB-different-results-tp3467897p3467897.html Sent from the Drools: User forum mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users