問題タブ [ibm-odm]
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.
ilog - IBM ODM 別名 iLog JRules データベースのクエリベースのルールが実行時に NPE をスローする
データベースにクエリを実行し、SELECT ステートメントから取得した値に従って結果を返すいくつかのルールを必要とする特定の要件から生じる課題を克服しようとしています。JRules をデータベース自体に接続するのが「ベスト プラクティス」ではないことはわかっていますが、この段階では実際に必要です。
XOM でラッパー クラスを作成し、それに相当する BOM を生成し、そのコンストラクターと以下のメソッドを言語化しました。ただし、ルール エンジンから NPE 例外が発生しますが、その理由がわかりません。
さらに、データベースをクエリする言語化されたメソッドを含むクラスは、別の Java プロジェクトでそのまま使用すると、エラーなしで正常に動作します。
ルールを呼び出すときに例外がスローされる理由を知っている人はいますか?
ルールセット パラメータ:
名前-- | タイプ | 方向 | デフォルト値 | 言語化
契約 | モデル.契約 | に | (なし) | 入ってくる契約
会費 | java.math.BigDecimal | アウト | (なし) | 会費
機関エンジン | wrapper.AgencyCampEngine | アウト | (なし) | エンジンで
ルールの流れ
例外:
business-rules - (ILOG) IBM ODM でカスタム・プロパティーをビジネス・ルールに設定する方法
新しいプロパティ (例: 一意の ID) をすべてのルールに設定し、実行中にそれぞれのルールのアクション部分からアクセスする必要があります。例: 人物の年齢が 18 歳以上の場合、出力をルールの ID に設定します。
(ここで、ID は、追加される新しいプロパティから取得する必要があります。)
IBM ODM 8.5 を使用しています。ビジネス ルールから一意の ID を取得するすべての方法を教えてください。
仮想メソッドの B2X マッピングでは、 を使用して rule.properties マップを出力しinstance.getRule().properties
ました。カスタム プロパティと他のすべてのルール プロパティを期待していました。ただし、プロパティ マップには次の 6 つしかありませんでした。
キー: ilog.rules.business_name 値: テストのスコア
キー: ilog.rules.package_name 値: チェック スコア
キー: requestorMail 値:
キー: ステータス値: 新規
キー: ilog.rules.package 値: check_score
キー: ilog.rules.group 値: check_score.test_score
ilog - ILOG 動的ルールセット
ルールのグループから動的なルールセットを作成するにはどうすればよいですか? このグループは動的です。IBM ODM 8.0.1 を使用しています
ilog - ILog ODM 8.0.1 : 実行中の名前ルールのロギング
ルールの名前、問題をログに記録したい:
XOM でルール名を取得するには?
また
ルールを実行する前にコードを挿入できますか?
java - (ILOG) IBM ODM 8.5 実行時のルール名のログ
System.out.println("RuleName : "+ruleName); のようなログを作成したい。IBM ODM ルール エンジンで。
これらは私がしたことです。
1- 静的な BOM 仮想メソッドを作成し、ilog.rules.engine.IlrRuleInstance のオブジェクトであるインスタンスのパラメーターを取得します。
2- 次の方法で、BOM から XOM へのマッピングを作成します。
3- ルール フローで最初または最後のアクションとして呼び出します。
しかし、フローを実行すると、ログが機能しません。インスタンスはnullで、ruleName もnullです。
bom を使用してログ機能を構成および設定するにはどうすればよいですか。例を挙げていただけますか?
ありがとう。
java - (ILOG) IBM ODM とにかく、ルックアップ テーブルのようなデシジョン テーブルを使用する方法はありますか、それとも悪い使用法ですか?
次のようないくつかのルールを実装しました。
- IDを確認してください。都合の良い日付であれば、関連するグループを追加します。たとえば、aaaa
- アクション ルールで、項目が関連するグループにある場合、メッセージを追加またはメッセージを削除することを確認します
しかし、いくつかの値を追加するよりも、いくつかのテーブルを使用して新しいグループを追加し、アクション ルールでそのグループをチェックすることは、ルール エンジンにとって便利ではないと思います。
ここで見たように、いくつかのルックアップ テーブルを使用する必要があります。しかし、私の考えは、これらの条件を実装するためにデータベースを使用したくないということです。
デシジョン テーブルをルックアップ テーブルとして使用する方法はありますか、またはその実装にはデータベースを使用する必要がありますか? または、その問題を達成する方法はありますか?
ご協力いただきありがとうございます。
jrules - Java プロジェクトからの ODM/JRules マッピングで重複用語エラーを修正する方法は?
ODM 8.5 (JRules の後継) を使い始めたばかりで、既存の Java プロジェクトをビジネス オブジェクト モデル (BOM) の基礎として使用しようとしています。ほとんどのクラスはうまく翻訳されているようです。ただし、修正できなかったエラーが 1 つあります。
残念ながら、Rule Designer は重複が発生した場所を通知しないため、予約語のリストを見つけることができませんでした。それまでは、「イベント」は予約されていると仮定します。
私はEvent
抽象Javaクラスを持っています。また、名前の一部として「イベント」を含むフィールドなどもありますeventType
. これにより、次のようなデフォルトの言語化が発生します
と
名前に「イベント」を含むクラスとフィールドが必要だと仮定するとEvent
、エラーが発生しないように BOM を調整するにはどうすればよいですか? 「イベント」という単語が .voc ファイルに単独で表示されないように BOM を編集しました。たとえば、次のような言語化が行われました。
と
それでも、まだ同じエラーメッセージが表示されます。私に何ができる?
編集:
「イベント」を含む ILOG ルール言語の予約語のリストを指定している IBM のドキュメントで、予約語のリストを見つけました。ただし、ドキュメントは不明です。「多くのキーワードが予約されており、パッケージ名には命名制限が適用されます」と記載されています。これは、制限がパッケージ名にのみ適用されるということですか? また、「V7.5 で廃止予定」とも書かれています。予約語のリストを廃止するにはどうすればよいですか? これは、v7.5 以降は制限がないということですか?