WebアプリケーションにDroolsのエキスパート/フローを使用するためのベストプラクティス

StackOverflow https://stackoverflow.com/questions/3817639

質問

私は現在、Droolsのエキスパート/フローだけでなく、GWTは自分自身を教えています。私は、アプリケーションの異なる部分間の疎結合を達成するためにイベント/コマンドバスとビジネスルールエンジンとしてDroolsの流れを利用したい。

これまでのところ、私は私のテストケースから作業を専門とフローの両方を得ているが、私は最高にWebコンテナ内を流れるを実装する方法を考え出すのに苦労しています。

万一私はステートレスセッションEJBにすべての足場を置き、各要求は最初からすべてを設定し、その後、フロー/ルールを実行してみましょうか?これは私には資源の無駄のように思えます。私が代わりにWeb要求間のセッションは、そのシナリオのスケールが、同時にそれを考えにアクセスすることを、単一の知識セッションとシェアを保存することができ、それがスレッドセーフされて(私の推測ではnoですか)?良いアイデア知識セッションをプールされていますか?

私は上記のための任意のベストプラクティスがある場合は、基本的であるために求めていますか?ドキュメントとサンプル、そうでなければかなり良い一方で、これらの特定の点で明らかにされていない。

私はDroolsのグリッドについての記事を読む何か、それは私の問題を解決するだろうし、それは開発中のようですないように注意してください場合をしました。私の質問が不明である場合は、そう言ってくださいます。

BRマグナス

役に立ちましたか?

解決

Aナレッジベースは、スレッドセーフと重い重量(それは安い作成することはありません)で、おそらくアプリケーションスコープでそれを維持したいちゃうあなたはとてもます。

今のところ、ほとんどの人は、ステートレスセッションBean(またはシーム/ CDI Beanまたは春の豆)、例えば、ステートレスなアーキテクチャを使用してすべてのWeb要求に対してStatelessKnowlegdeSessionを作成(スレッド安全ではないと安いが作成する)する傾向があります。 あなたは、ステートフルEJBのの力を持っている場合は、同じ会話の中ですべての要求を処理するために1 StafefulKnowlegdeSession使用を維持するためにやりがいのあることができます。

StatefulKnowlegdeSessionは、スレッドセーフ(そうは思わない)である場合は、

私は、わかりません 私は問題を作った: https://issues.jboss.org/browse/JBRULES-2842

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top