Invece di utilizzare il metodo getObjects() è possibile utilizzare una query. Le query sono come regole senza RHS:
query "getObjectsOfClassA"
$result: ClassA()
end
È possibile utilizzare tutta la potenza del linguaggio DRL dentro le vostre domande a creare modelli corrispondenti veramente complessi. È anche possibile passare gli argomenti alle domande troppo: http://docs.jboss.org/drools/release/5.5.0.Final/drools-expert-docs/html_single/#d0e7632
Poi, nel codice Java, è possibile richiamare la query utilizzando:
QueryResults results = ksession.getQueryResults("getObjectsOfClassA");
for (QueryResultsRow row : results) {
ClassA classA = (ClassA) row.get("$result"); //you can retrieve all the bounded variables here
//do whatever you want with classA
}
Se è necessario l'insieme di tutte ClasseA è possibile utilizzare una funzione di accumularsi nei la tua domanda.
Speranza che aiuta,
fonte
2013-02-23 15:18:17