xsl ファイルから生成するルール ファイルが 50 個ほどあります。各 drl ファイルには、それぞれ約 500 のルールがあります。各ルールは、特定の文字列を含む、開始または終了する文字列を検索するようなものです。現在、すべてのルールがロードされているナレッジベースは 1 つだけです。現在実行中のルールはパフォーマンスに影響を与え、実行時間の大部分を占めています。1 秒あたり数千のリクエストがサービスにヒットし、わずかなパフォーマンスの改善が私たちに利益をもたらします。パフォーマンスを向上させる方法はありますか。私が考えていた 1 つの方法は、一連のルールごとに異なる knowledgeBase を作成し、それらを呼び出すことでした。これは正しい方法ですか、それともルールを最適化するための他の最善の方法はありますか?
ルールの例:
rule "StampingRules_26"
salience 200000
when
$map : Map(UTILITY.supportsDirectoryType($map,'PCM'),
UTILITY.supportsDirectory($map,'CMMSCPE'),
! UTILITY.exitAllRules($map),
! executed,
UTILITY.applicable($map,'resellerName'),
UTILITY.setRuleLevel($map,'resellerCountry'),
UTILITY.checkRuleLevel($map,'US'),
UTILITY.startsWith ($map, 'Advent System~~AdventSystem'))
then
((Map)$map.get('PARAMETERS')).put('replaceParameter','csd_id');
String replaceParameter='csd_id';
((Map)$map.get('PARAMETERS')).put(replaceParameter, '001d000001Fsm72AAB');
((RulesUtility)$map.get('UTILITY')).setExitAllRules($map,'yes');
end
前もって感謝します