OpenRulesは、可能なだけで、データベースにルール?
-
19-09-2019 - |
質問
私はOpenRulesとJavaを試していると私は、データベース内のすべての私のルールを保存したいと思います。私はドキュメントが正しく、私はにした一つの「Main.xls」を持っている必要があります環境設定を保存します。今の質問は:完全にこの1つの物理.xlsファイルを回避する方法はありますか? 私はちょうどのようなものを呼び出すことができればベスト場合は、でしょう。
defineOpenRulesDatabase();
OpenRulesEngine engine = new OpenRulesEngine("db:myFile.xls");
engine.run();
ここで方法defineOpenRulesDatabaseは()のドキュメントに記載さdb.propertiesファイルで定義されているすべての設定を定義します。
この上の任意のアイデア?
解決
はい。 ドキュメントのによると、あなたがのために、すなわち(Javaがサポートする任意のURLに何かを渡すことができますこれURL.openStream()
は便利なもの)を返します。
あなたは返すサーブレットを作成し、アプリケーション内の桟橋ウェブサーバを簡単に埋め込むことができますのでその後、ファイルやサーブレットのURLでOpenRulesEngine()
を呼び出します。
それとも、DBからファイルをダウンロードして、ルールエンジンを設定するには、一時ファイルを作成するためにFile.createTempFile()
を使用することができます。
それとも、プロジェクトに対してバグを報告し、あなたがInputStream
に通過することを可能にする別のコンストラクタを求めることができます。
[EDIT]私はあなたがすでに配置する方法を説明しますこの文書を見てきたと思いますデータベースにルール。私が見るものから、それは少なくとも、あなたのクラスパスに、既存のMain.xlsファイルを使用せずにルールエンジンを作成することはできません。
しかし、そのファイルがあまり含まれている必要はありません。
ルール/メイン/ Main.xlsを開始するためのルールエンジンで主に使用されるファイル。それが唯一の環境テーブルが含まれています。
だから、単純にクラスパス内の静的ファイルを置くと、DBからのすべてのルールを読み込むことができます。