Frage

Ich experimentiere mit OpenRules und Java, und ich möchte alle nur in einer Datenbank meiner Regeln speichern. Wenn ich die Dokumentation richtig zu verstehen, muss ich ein „Main.xls“ haben, in denen speichern die Umgebungseinstellungen. Nun ist die Frage: Gibt es eine Möglichkeit, um vollständig diese eine physische .xls-Datei zu umgehen? Im besten Fall wäre, wenn ich nur so etwas wie

nennen könnte
defineOpenRulesDatabase();    
OpenRulesEngine engine = new OpenRulesEngine("db:myFile.xls");
engine.run();

, wo die Methode defineOpenRulesDatabase (), um alle Einstellungen definiert, die in der db.properties Datei in der Dokumentation erwähnt definiert sind.

Jede Idee dazu?

War es hilfreich?

Lösung

Ja. Gemäß der Dokumentation , können Sie in jeder URL, die Java unterstützt (dh alles passieren die URL.openStream() kehrt etwas nützlich).

So können Sie einfach die Jetty Webserver in Ihrer Anwendung, erstellen Sie ein Servlet welche Renditen die Datei und dann Aufruf OpenRulesEngine() mit der URL des Servlets.

Oder Sie könnten die Datei aus der DB und Verwendung File.createTempFile() laden Sie eine temporäre Datei zu erstellen, um die Regel-Engine einzurichten.

Oder Sie könnten einen Bug gegen das Projekt einreichen und für einen anderen Konstruktor fragen, die Sie in einem InputStream passieren lässt.

[EDIT] Ich denke, Sie haben bereits gesehen, dieses Dokument , die erklärt, wie zu setzen die Regeln in einer Datenbank. Von dem, was ich sehe, ist es nicht möglich, die Regelmaschine ohne bestehende Main.xls Datei zumindest in Ihrem Classpath zu erstellen.

Aber diese Datei nicht mehr viel enthalten:

  

Regeln / main / Main.xls die Hauptdatei für eine Motor-Regeln mit zu beginnen. Es enthält nur die Umwelt Tabelle

So können Sie einfach eine statische Datei im Classpath setzen und alle die Regeln aus der DB geladen werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top