問題タブ [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 - ILOG - バージョン 8.0.1
場合によっては、ルールがディシジョン センターから RES に展開されると、最近の変更が RES の新しいアーカイブに表示されますが、実行結果にはそれらが反映されません。実行時に変更が認識されないかのようです。ルールを変更せずに 2 回目の展開を行うと、状況が修正されます。誰かがなぜこれが起こっているのか説明できますか?
jrules - XOM を変更せずに ODM デシジョン テーブルで使用する関数を定義する方法は?
ODM 8.5 (JRules の後継) を使用しています。私の Java ドメインにはfield
、「000」から「999」までの数字を表す 3 文字の文字列があります。次のようなロジックを表す決定表が必要です。
列の定義に関するIBM のドキュメントには、「条件ステートメントは不完全な BAL 述語式です...」と記載されています。私がやりたいような文字列比較を行う BAL には何かありますか? そうでない場合、IRL で定義された関数を BAL から呼び出すことは可能ですか? もしそうなら、どのように?また、ODM でこの単純な問題を (既存の Java XOM を変更せずに) 処理する方法について、他の提案も受け付けています。現在、ODM デシジョン テーブルは使用できないように見えますが、基礎となるロジックはデシジョン テーブルに適しているようです。
jrules - 条件テストを ODM デシジョン テーブルのサブカラムに対応させる方法は?
私は ODM 8.5 (JRules の後継) を使用しており、IBM のチュートリアルのEditing Decision Tablesで説明されている手順を模倣しています。ただし、合法的なテストを生成することはできません。チュートリアルでは、次のテストを作成します。
Eclipse の補完機能 () を使用して、作成したいテーブルの正当な補完を生成すると、<min>
orは生成できません<max>
が、 は生成できます<a string>
。ただし、これにより次の警告が生成され、サブ列は作成されません。
警告が何を伝えようとしているのかわかりません (そして、提案された代替品を使用しているときに警告が表示されることに憤慨しています)。(「辞書編集的により大きい」は、2 つの文字列引数を取る定義済みの関数ですが、「contains」などの事前定義された関数に変更しても違いはありません。) <a string>
toと の出現を手動で変更する<min>
と<max>
、エラーが発生します。 :
デシジョン テーブルをチュートリアルのように動作させるにはどうすればよいですか?
ilog - ILOG Decision Center からのルール プロジェクトのエクスポート
ルール プロジェクトをディシジョン センターからエクスポートしようとするたびに、次のエラーが発生します。
他のルール プロジェクトをエクスポートすると、このエラーは発生しません。したがって、これはディシジョン センターに関連する問題ではなく、おそらくルール プロジェクトの問題です。
誰にもこれに対する解決策がありますか?
ibm-odm - デシジョンテーブルアクション列の BOM メンバーからオブジェクトを作成する (コンストラクターを呼び出す) 方法は?
ルール プロジェクトのルールセット パラメーターとして、タイプ TYPE1 の 2 つの arraylist があります。IN 用に 1 つ、OUT 用にもう 1 つ。私のルールフローには、OUT ルールセット パラメータを初期化する初期アクション タスクがあります。入力としてarrayListがあるので、それを「反復」する必要がありますが、その方法はわかっています。
私の問題はその後です。ルールフローの次のタスクには、いくつかの前提条件を持つデシジョン テーブルをすべて追加するルール タスクがあります。ほとんどのデシジョン テーブルでは、複数のルールを起動できます。私が達成したいのは、起動されたルールごとに、タイプ TYPE1 の新しいオブジェクトを出力配列リストに追加することです。ここで問題が発生します。3 つのルールを実行すると、実際には TYPE1 型の 3 つのオブジェクトが出力配列リストに追加されますが、3 つすべてに同じ値が含まれます。すべてが同じオブジェクトを「指している」ように見えます。
私の質問は、タイプ TYPE1 の新しいオブジェクトを作成する (コンストラクターを呼び出す) アクション列に方法があるので、ルールの残りのアクションを実行するときに TYPE1 の新しいオブジェクトに書き込む方法はありますか? TYPE1 型のルールセット変数を自分が持っているルールと同じ数だけ作成し、ルールごとにそれぞれを使用すれば、これを達成できることはわかっていますが、この方法ではテーブルが (横向きに) 巨大になり、私たちが望む方法ではありません。
TYPE1 と arraylists の両方が BOM メンバーです。
編集: 私は RetePlus アルゴリズムを使用していることを忘れていました。終了基準として「なし」を使用し、ランタイム ルールの選択に順序付けと動的 BAL を使用しています。
誰かが私を助けることができるように、私は自分自身を十分に説明したことを願っています. 前もって感謝します。
rule - IBM ODM で技術ルールを実行する方法
IBM ODMの技術ルールに書かれているルールをどのように実行すればよいのか知りたいです。ODM V8.0.1 を使用しています。以下のようにしてみました。
Courier.java という名前のクラスを持つ XOM を作成しました
public class Courier { プライベート文字列 courierType; プライベート int 距離;
ゲッターとセッターで
}
この XOM を追加するルール プロジェクトを作成し、それぞれの BOM を作成しました。
- Courier オブジェクトを IN_OUT ルールセット パラメータとして追加し、Name を「courier」にしました
次に、以下のコードで技術ルールを作成しました
when { クール : Courier(); }
then { note("クーリエ オブジェクト チェックは満足"); }
上記の技術ルールを指すルール タスクを 1 つだけ持つルールフローを作成しました。
次に、このルールフローを次のように実行します
実行 --> 実行構成
- Run Configuration ダイアログ ボックスで、クーリエ オブジェクトを作成する関数を以下に記述
し、構成を実行しました。
com.seldart.Courier cour= 新しい com.seldart.Courier(); クールを返します。
ルールフローの実行は 2 秒間続きましたが、note() メソッドのステートメントが
コンソールに出力されませんでした。- Run Configuration ダイアログ ボックスで、クーリエ オブジェクトを作成する関数を以下に記述
ルール フローが実行する技術ルール自体を選択していないのか、クーリエ オブジェクトが認識されていないのか、よくわかりません。この技術的なルールを正しく実行する方法を教えてください。ありがとう。
websphere - Websphere Cobra.NoResponse リクエストがタイムアウトしました
以下のエラー (Decision Center の SystemOut.log で) が、ルールを実行してからちょうど 5 分後に発生します。一貫して 5 分です。Decision Server でルールを確認できるため、Decision Center から Decision Server にルールセットが送信されています。
以下は、Decision Center の SystemErr.log に表示されるエラーです。
Decision Server と Decision Center の両方の ORB サービス パラメーターは次のとおりです。 -Request Timeout: 300 秒 -Locate Request Timeout: 300 秒 -スレッド プール設定は、ORB サービスに直接関連付けられたスレッド プール設定を使用します。
Decision Center のトランザクション サービス パラメータは次のとおりです。 -合計トランザクション ライフタイム タイムアウト: 300 秒 -Aysnc 応答タイムアウト: 30 秒 -クライアント非アクティブ タイムアウト: 60 秒 -最大トランザクション タイムアウト: 300 秒
Decision Server のトランザクション サービスのパラメーターは次のとおりです。 -合計トランザクション ライフタイム タイムアウト: 5000 秒 -Aysnc 応答タイムアウト: 30 秒 -クライアント非アクティブ タイムアウト: 120 秒 -最大トランザクション タイムアウト: 900 秒
これを解決するにはどうすればよいですか? ありがとうございました!
jrules - マネージド URI In res に Xom を追加する
私は ILOG に取り組んでいます。現在、ruleapp を res に展開するために Ant スクリプトを使用しています。問題は、展開時に正常に動作していることですが、res にある [マネージド URI の追加] タブに xom を自動的に追加したいということです。xom は ruleapp にアタッチされていますが、マネージド uri セクションにアタッチしたいと考えています。
前もって感謝します。