第6章 ルールの統合


6.1. ナレッジエージェント

ナレッジエージェントは、ナレッジ API に埋め込まれているコンポーネントであり、追加のコンポーネントの必要なしにナレッジエージェントを使用できます。JBoss Enterprise BRMS Platform を利用している場合、同アプリケーションは、クラスパスに drools-core の依存関係しか含む必要はありません。つまり、droolsmvel JAR だけです。これ以外にルール固有の依存関係は存在しません。
パッケージにコンパイルされたルールは、ターゲットアプリケーションですぐに利用できます。
以下の例でエージェントを構築しますが、このエージェントはパスのストリングで指定したファイルから新たな KnowledgeBase を作成します。60秒ごと (デフォルト) にこれらのファイルをプルして更新されているか確認します。新規ファイルが見つかった場合は、新規の KnowledgeBase を作成します。変更セットがディレクトリのリソースを指定した場合、そのコンテンツも変更にあわせてスキャンされます。
KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent( "MyAgent" );
kagent.applyChangeSet( ResourceFactory.newUrlResource( url ) );
KnowledgeBase kbase = kagent.getKnowledgeBase();
Copy to Clipboard Toggle word wrap
KnowledgeAgent は、デフォルトの一部を変更できる設定も可能です。プロパティの例は "drools.agent.scanDirectories" ですが、デフォルトでは新規に追加されたかを確認するために指定のディレクトリにスキャンがかかります。
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();

KnowledgeAgentConfiguration kaconf = KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
kaconf.setProperty( "drools.agent.scanDirectories", "false" ); // we don't scan directories, only files
       
KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent( "test agent", kaconf );
// resource to the change-set xml for the resources to add
kagent.applyChangeSet( ResourceFactory.newUrlResource( url ) );
Copy to Clipboard Toggle word wrap
これは、change-set.xml ファイルの例です。
<change-set xmlns='http://drools.org/drools-5.0/change-set'";
    xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
    xs:schemaLocation='http://drools.org/drools-5.0/change-set drools-change-set-5.0.xsd' ><add><resource source='http://localhost:9000/TEST.pkg' type='PKG' /></add></change-set>
    
        

Copy to Clipboard Toggle word wrap
リソーススキャンはデフォルトで有効になっています。これはサービスであるため、開始する必要があります。ResourceFactory 経由で実行可能です。
ResourceFactory.getResourceChangeNotifierService().start();
ResourceFactory.getResourceChangeScannerService().start();
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat