問題タブ [drools]

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 投票する
3 に答える
3567 参照

java - シリアル化して Jarfile に保存する際に SerialVersionUID を変更できるものは何ですか?

オブジェクトのシリアル化中にいくつかの問題に直面しています (JBoss Drools を使用しており、KnowledgePackage の ArrayList を保存したいと考えています)。

リストをシリアル化し、結果をファイルに保存し、逆シリアル化すると、問題は発生しないので問題なく動作します。

しかし、リストをシリアル化し、結果をバイトストリームに保存してから、JarFile に保存すると、このエラーのために結果を逆シリアル化できません:

したがって、シリアル化されたオブジェクトを Jarfile エントリに保存するときに問題があると思います。Jarfileに同じ方法で保存された他のファイルを正しく読み取ることができるので、私はこれを正しく行っていると思います。そして、「cmp」と「hexdump」を使用した後、jar に保存すると、uuid の場合は 1 オクテットの変動が生じ、それ以外の場合は内容が同じであることがわかりました。

私は本当にがっかりしており、問題がどこにあるのかを述べることができません.

2 つのクラス間で SerialVersionUID を変更できるものは何ですか? 別の vm バージョン以外の ?


ソースコードの追加: exportToJar -> writeRulesPackageEntry -> writeEntry

0 投票する
3 に答える
2244 参照

java - Drools の更新方法が問題を引き起こしている可能性はありますか

現在、Drools 5.0 を使用してアプリケーションを作成しています。このアプリケーションの実行は少し遅いようですが、その理由については理論があります。このアプリケーションは、ナレッジ セッションに既に格納されているファクトの多くの更新を受け取ります。内部の Drools 更新機能は、実際には撤回を行ってから挿入を行います。このアプリケーションには 200 以上のルールがあります。一部のルールは、特定の事実が削除されたときに実行されるように記述されています。他のルールは、特定の事実がナレッジ セッションにアサートされたときに実行されるように記述されています。更新は実際に撤回を行い、次に挿入を行うため、更新中に撤回と挿入に関連するルールが引き続き実行されますか? ナレッジ セッションから実際に「挿入」または撤回されているものは何もないのに?

注意すべきことの 1 つは、WorkingMemoryFileLogger をナレッジ セッションに「接続」して、何が起こっているかをよりよく理解できるようにすることです。その時、予定外の撤回/挿入ルールのアクティブ化の作成が議題に追加されているのを見ましたが、アクティブ化されることはないようです. 事実の更新は、特に事実モデルに基づいて費用がかかる可能性があるように思えますが、控えめに使用する必要があります。これは正しいです?

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

unit-testing - Jbossルール(Drools)ルールをどのように単体テストしますか?

Seamアプリケーション用にいくつかのDroolsルールを作成しましたが、これらのユニットテストをどのように行うのか疑問に思っています。誰かがこれを行う方法を教えてくれるサンプルコードを持っていますか?

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

java - Drools: ファクトが作業メモリにまだ存在しないかどうかを確認した後にファクトを挿入する方法

drools を使用してオブジェクトを検証しています。このオブジェクトには、このオブジェクト (主従関係) に関連する子オブジェクトを返す getChildrenList() メソッドもあります。

オブジェクトに対していくつかの検証を行い、次に子オブジェクトも検証したいので、次のルールを使用してすべての子オブジェクトを作業メモリに挿入します。

子が既に挿入されている場合、このルールが起動されないようにするにはどうすればよいですか。つまり、いくつかの事実を変更したため、ルールが再起動されます。どうすればそれを防ぐことができますか?

ありがとう

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

java - drools エキスパート / ソルバー - 5.0.1 マッチ

私は drools にかなり慣れていないので、よく理解できない問題に直面しています。割り当ての問題を解決しようとしていますが、LHS の 1 つが次のようになります

なんらかの理由で、2 番目のステートメントは何にも一致しません。たとえワーキング メモリに一致があると確信していてもです。上記のコードを次のように変更すると、正常に動作します

誰か私にこれを説明できますか?

ありがとう!

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

java - Web ベースの J2ee プロジェクトでの Drools Expert による Drools Flow の評価

drools エキスパート ルールを使用して wrokflow エンジンとして drools フローを評価しています。主な評価ポイント:

  • 独自のカスタム Web UI によるカスタマイズ ルールとワークフローの生成
  • 管理者ユーザーは、UI でワークフロー内のすべてのアイテムを表示できます (ジョブ キューの表示: 現在のキュー、実行されたジョブ、例外)
  • ルール アクションは、Web サービス、Java クラス、またはストアド プロシージャにすることができます。
  • 実行時のプロセス定義の削除/キャンセル
  • カレンダー/スケジューリングとの統合
  • Web サービスはルール入力可能
  • Web サービスは処理中のアクターになることができます
  • ランタイム コンパイル機能。つまり、ルールの変更時にアプリケーションが再起動することはありません。
  • プロセスをサービスとして公開する

    この評価プロセスを支援するために、上記の領域に関する情報を提供してくれる人はいますか?

0 投票する
3 に答える
2166 参照

java - Eclipse で Drools 4 プロジェクトをビルドする際の問題

drools 4 プロジェクトのコンパイルに問題があります。ルール ファイルに次のようなエラーが表示されます。

このため、インクリメンタル コンパイラは機能していません。エラーを修正したり、Eclipse でエラーを無視するにはどうすればよいですか?

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

subprocess - Drools SubProcess アウト マッピングに失敗しました - 何が間違っていますか?

subProcess ノードに回転を与えるために、2 つの「Hello World」プロセスを作成しました。サブプロセスからメイン プロセスに出力を戻すのに問題があります。私がうまくいかない理由を明らかにするドキュメントや例が見つからないので、誰かが私が間違っていることを教えてくれることを願っています。

私の主なプロセスには、次のものがあります (ヘッダー、フッター、および位置 x、y、高さ、幅の属性を省略していることに注意してください)。

そしてsubhello、これは単純な SubProcess です。単純に入力を取得して出力し、入力の長さを取得してそれを返します。

これは、ドキュメントと例をどのように解釈したかによるものです。必要な変数はメイン プロセスとサブプロセスの両方で宣言され、サブプロセスの in/out マッピング要素を使用して from 属性と to 属性を設定します。

問題は....問題nameなくサブプロセスに渡されたがlength、メインプロセスに戻ろうとして失敗したことです。サブプロセスのlengthが正常に変更されました。しかし、終了時lengthに、メイン プロセスは変更されませんでした。

私は何を間違っていますか?ポインタと説明は大歓迎です。ありがとう。

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

drools - Drools SubFlow / SubProcessはほとんど使用されていますか?Droolsのドキュメントが不足している

ルールフローとルールを使用してワークフローのプロトタイプを作成しようとしています。サブルーチンを呼び出したり再利用したりできると明らかに便利なので、subProcessのテストを開始しました。何度もいじった後、期待どおりに機能するようにマッピングを外すことができません(また、詳細なドキュメントがないために管理できます)。

それで私はもっと多くの例を探し始めました。困ったことに、subProcessを使用する例(jbossrulesチェックアウト内)を1つしか見つけることができませんでした。その例は、インアウトマッピングをまったく行う必要がありません。他のすべてのマッピング関連の例は、WorkItemsを介して行われます。

サブプロセスはWorkItemよりもはるかに有用ではありませんか?私は彼らの違いを完全に理解しているわけではありません...

オンラインリソースが不足していることを考えると、本を手に入れたほうがいいと思います(誰かが良いサイトや良い本を推薦してくれたら本当にありがたいです)。ありがとう。