1
グローバル変数をdroolsルールファイル(mvel)に宣言したいと思います。これは、このグローバルがすべてのルールで別の関数のパラメータとして使用されるためです。関数を呼び出すたびにこの文字列を明示的に渡すことは簡単ですが、文字列が変更されると難しくなります。Drools:グローバルの宣言と割り当て方法
私は私が考えていた:
global String someStr = "some string";
しかし、コンパイルに、私が取得:
[11,31]: [ERR 107] Line 11:31 mismatched input '=' expecting one of the following tokens: '[package, import, global, declare, function, rule, query]'.
ので、明らかに、私はそれをこのように割り当てることはできません。クラスを参照するためにそのクラスのクラスと文字列を宣言することもできないようです。
global String someStr;
rule "Initialize"
when
then
someStr = "some string";
end
これが動作するようだが、これはこのルールが一致一つ一つの時間を記録します(常に)ちょうど地球を割り当てるには:
は、だから、私はそうでし愚かなようで何かを発見しました。もっと良い方法がありますか?
Droolsマニュアルのセクション7.5.2、グローバルについてはどうですか?あなたの文脈で必要となるかもしれない他の細部があるかもしれないので、私はそれがドキュメントを読むことに価値があると思います。 – laune
最初にマニュアルを読まずに投稿したと思いますか?いい加減にして。それをするばかげたやり方、真実として実行するルールは、マニュアルからまっすぐです! – RallyRabbit
どのマニュアル、どのセクション?あなたは混乱している必要があります。 - 「これは毎回ログに記録されます」というステートメントは正しくありません。 – laune