2015-05-21 14 views
8

Ich frage mich, wie ich eine geführte Entscheidungstabelle aus der Drools Workbench in einer Java-Anwendung mit der Drools-Laufzeit verwenden könnte. Die Idee ist, dass ein Benutzer arbeiten würde, Regeln, Prozesse und einige Entscheidungstabellen in der Workbench zu definieren, die von der Drools-Laufzeit abgerufen werden.Kompilieren Drools geführte Entscheidungstabelle in Regeln

Aus irgendeinem Grund kann ich nicht herausfinden, wie man dies in drools ausführt, da es die Tabelle als eine gdst-Datei gespeichert hat und es scheint nicht zu drools zu kompilieren.

Mit Drools, gibt es einen Weg zu: - Ausführen der GDST-Datei, wie ich mit einer Excel-Entscheidungstabelle würde? - oder eine gdst-Datei in Regeln kompilieren?

Ich habe nach einer Lösung gesucht, aber ein konkretes Beispiel nicht finden kann ...:/

Antwort

4

Ok, also im Grunde konnten wir sehr leicht drools Regeln aus einer geführten Entscheidungstabelle erzeugen. Zum Beispiel:

// load the data from the GDST file, for example: 
String decisionTableXml = new String ( 
    Files.readAllBytes( 
    Paths.get("./someDecisionTable.gdst"))); 

// parse the table model 
GuidedDecisionTable52 model = GuidedDTXMLPersistence.getInstance().unmarshal(decisionTableXml); 

// compile it into drools rules 
String droolsRules = GuidedDTDRLPersistence.getInstance().marshal(model); 

// next, save droolsRules into a file and/or load it into drools as a normal rule 

Dies ist ein einfaches Beispiel für geführte Entscheidungstabellen, aber die gleichen utils wahrscheinlich für Entscheidungsbäume exsist, ... Von dort aus können Sie jeden geifert Workbench Nutzungsart mit Ihrer geifert Expert Laufzeit orchestrieren. Bessere Lösungen sind immer willkommen;)

+1

ps: drools-workbench-models-guided-dtable ist die maven-abhängigkeit, die du dafür importieren möchtest. –