5

Drools Fusionを使用して、次の模範的なルールを実装することを検討していました。

  • 顧客が 1 年以内に同じ製品を 2 つ購入した場合、3 つ目は無料
  • 最大 3 回の連続した取引で 200 米ドル以上を使用した場合、顧客は割引を受けます
  • 顧客が 1 年以上アクティブでない場合、リマインダーが生成されます
  • 過去 6 か月以内に 1 回の注文が平均注文額を上回った場合、スーパーバイザーに通知されます。
  • ...など、これらは私の頭の上からの単なる例です

これらすべてのルールは、Drools Fusion を使用して簡単に表現できます。ただし、プロトタイプを作成してドキュメントを確認したところ、この製品は短期間の一時的なイベント (株式市場、リアルタイムの意思決定) に適しているようです。

問題は、すべてのイベントをメモリに保存する必要があるかどうかです。(おそらく何百万もの非常に古い購入)。さらに、Drools Fusion はサーバーの再起動に耐えられるようにイベントを保存できますか? (理想的にはデータベース内)。

Drools Fusion イベントはDrools Expertのファクトにすぎないことはわかっているので、質問を次のように拡張することもできます: Drools Expert はファクトを保持して遅延ロードできますか?

4

1 に答える 1

3

できることは、その顧客の新しいトランザクションを取得するたびに、顧客ごとの履歴情報をロードすることです。または、情報を定期的にロードして、非アクティブな顧客を確認します。あなたが言及するすべての例は、私には事実のように見えます。明らかに、すべてをイベ​​ントとしてモデル化できますが、言及したように、すべてをメモリに保持する必要があります。何百万ものイベントの保存/処理に関する質問に答えるには、まず、JVM がそれらすべてのオブジェクトをメモリに保持することをサポートするかどうかという質問に答える必要があります。

乾杯

于 2011-12-15T12:27:16.847 に答える