問題タブ [drools-flow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
210 参照

drools - Drools で戻り値の型が Map の関数を呼び出し中にエラーが発生しました

Drools でマップとして戻り値の型を持つ関数を使用しました。Guvnor の検証ボタンを使用して検証すると、エラーが発生します

私のコードに似たサンプルコードを以下に示します

検証中に発生するエラーは

0 投票する
1 に答える
2733 参照

java - drools の作業メモリ内のオブジェクト (事実) を比較する

DRT (ルール テンプレート) を使用して Excel シートを読み取り、Java クラスの静的メソッドを使用してクラスのオブジェクトに変換しています。また、それを作業メモリに挿入します。このようにして、ワーキング メモリは Excel シートのすべての事実で満たされます。

現在、セッションを介して INSERT() の Java クラスを介してファクトを送信しています。2 つの類似したオブジェクトを照合し、一致したオブジェクトをワーキング メモリから返す必要があります。例として:

Excel から読み取り、ワーキング メモリに挿入します。

Javaクラスでは、セッションを介して次のオブジェクトを挿入しています:

Status = true次に、2 つのオブジェクトを比較して設定する必要があります。

両方のオブジェクトを比較するルールを作成する必要があります。

何らかの方法を提案してください。

ありがとうショラフ

0 投票する
0 に答える
655 参照

java - ファクトの更新に関するルールの停止

Drools にシナリオがあります。私にはいくつかのルールがあります。例えば ​​:

ルール 1: ある条件の後にセッションから来るファクト pojo に ProductName を設定しています。ルール 2: 等級の値、つまり X1、X2、X3、X4 を計算しています。したがって、各学年について、計算するルールが 1 つあります。

User からの Fact pojo は、成績値の計算を要求する場合があります。ただし、ユーザーが X4 を要求した場合、X1 から X3 までのすべての成績値も計算する必要があります。

私がしたことは、ルールが実行されるたびにということです。then 条件では、グレード値プロパティを保持しているファクトを更新しています。最後の 1 つのルールは、Pojo から受信したグレードと実行されたルール グレードの一致をチェックするように記述されています。

ただし、特定のグレードにとどまってすべてのグレード値を実行しているわけではありません。

何らかの方法を提案してください。

========編集=======

ルール seq == true の場合に X を計算し、次に X を計算します。

ルール seq == true の場合に x1 を計算し、次に X1 を計算します。ルール seq == true の場合に x2 を計算し、次に X2 を計算します。

X2 を計算するように要求した場合、ルール x と x1 も計算する必要があります。x1 の場合、ルール x と x1 のみが実行されます。

ありがとうクマール・ショラフ

0 投票する
1 に答える
491 参照

workflow - タスクフォームは jbpm 5.4 で完成 (編集済み)

jbpm 5.4 を使用してアプリケーションを開発しています。ワークフローを drools-guvnor にデプロイしました。次のように変数定義を追加しました task1_lname_out, task1_fname_out 次に、DataInputSet と DataOutputSet を Task1 にマップしました。

これは私の Task1-taskform.ftl です

上記のタスクフォームに入力した後、タスクを完了します。次のコードを使用して、タスクデータでタスクを完了します。

drools guvnor から、DataInputSet と Association を適切にマッピングしました (プロセス変数は DataInputSet にマッピングされました)。次に、次のタスク フォーム Task2-taskform.ftl にアクセスします。

次に、このような結果にアクセスします。

私の問題は、Task2-taskform.ftl が Task1-taskform の出力結果を表示しないことです。Jbpm コンソールを介してすべて正常に動作するため、DataInput および出力マッピングにエラーはありません。

この問題を解決するのを手伝ってください。私のコードの次の行についてはわかりません。

私はこの点にこだわりました。私を助けてください ???

0 投票する
1 に答える
240 参照

drools - drools でリストを反復するために直面​​している問題

drools でのリスト反復の問題に直面しています

GoodsShipmentにはGoodsItemsのリストがあり、 GoodsItemにはDocumentsのリストがあります

私の要件は、少なくとも 1 つのドキュメントが利用可能かどうかを確認する必要があるということです。

私はこれを試しましたが失敗しました

目的をチェックするためにクラスを書きました

誰でも私を助けてくれませんか..事前に感謝します

0 投票する
2 に答える
2605 参照

drools - Drools 6.1.0.Final CEP の例: Field Extractor を作成できない

CEP の例を Drools 5X から 6X に変換しようとしているときに奇妙なエラーが発生しました: - 正確には Drool 6.1.0.Final。

この小さなプロジェクトのインスピレーションの源は、次のリンクにあります:=> PlugTree

Drools がフィールド エクストラクタを作成できないことを示すエラーが表示されます。これは、ドメイン POJO でセッター/ゲッターを作成するのを忘れたときに発生するエラーです。

SEVERE : Unable to build KieBaseModel:rules Unable to create Field Extractor for 'amount'Field/method 'amount' not found for class 'com.sample.Sale': [Rule name='StoreOne - Has Passed it's Sales Record'] java .lang.RuntimeException:クラス 'com.sample.Sale' のフィールド/メソッド 'amount' が見つかりません

私は問題をルール ファイルの 'declare' ステートメントに突き止めました (完全なリストを下にリストします)。

これだけを使用するとエラーが発生しますが (V5 では発生しません)、次の「変更された」宣言ステートメントを使用してもエラーは発生しません。それは何もしません...

それがすることは何もありません。コンパイルして実行しますが、ファクトが挿入 (または認識) されません。

これが私のJavaテストハーネスです:

そして、ここに私のルールファイルがあります:

そして私の kmodule.xml ファイル:

これも関連があると思います-リスナーを使用したコンサルト出力(変更された宣言ステートメント(属性のリスト)用):

V5 の CEP の例は Web 上にほとんどなく、V6 KIE の例はさらに少ないため、このエラーの原因とその修正方法について考えていただければ幸いです。

0 投票する
1 に答える
2347 参照

drools - リストの合計が 100 より大きいかどうかを確認する

次のことをしなければならないリストによだれ関数を書く必要があります

  1. 合計を作成する
  2. 合計が 100 より大きいかどうかを確認します。

以下は私が作成したよだれルールです

$total が 100 より大きいかどうかを確認できません

ありがとう

0 投票する
1 に答える
471 参照

drools - jbpm の条件に基づいてプロセスを再起動する方法は?

jbpm は初めてなので、jbpm で問題に直面しています。プロセスを再起動するか、前のプロセスに戻る必要があります。誰でもそれを行う方法を提案してもらえますか私のフローは

保存する前に、条件に基づいて、getDeclaration からフローを取得する必要があります。これを行うために私を導くことができますか?

追加情報が必要な場合はお知らせください

0 投票する
0 に答える
1271 参照

java - Drools でルール フロー グループをアクティブ化する

.drl ファイル内のルールが「ruleflow-group」にグループ化されている場合、それらのルールを実行するには外部でアクティブ化する必要があります。しかし、ナレッジセッションでそれをアクティブにする方法は?

私は以下を使用してみました:

このコードを実行しても、最初の行を使用しても効果はありません。コードを変更する必要がある場所を教えてください。