IIOP オペランドおよびその関連プロトコルは、副次式ユーティリティー・ビルダーで使用します。このビルダーはオプション・ツールであり、AND、OR、NOT、および括弧によるグループ化を使用して、副次式から複雑なルール条件を作成する際に役立ちます。
それぞれの作業クラスは、オプションの番号付きルールのリストを含みます。 このルールは、特定の要求について評価され、その要求に対するポリシーを 決定します。それぞれのルールはブール式とポリシー値で 構成されます。式が特定の要求を真と評価した場合、 そのルールに関連したポリシーが使用されます。
ルールに対するブール式の構文とセマンティクスは、 構造化照会言語 (SQL) 式の WHERE 文節に 似ています。具体的には、式の構文は Java™ Message Service (JMS) 1.1 仕様 で定義されます。詳しくは、ルール・ベースの要求分類 を参照してください。
JMS 仕様では、 ID は特定の照会パラメーター、Cookie、HTTP ヘッダーなど、 要求に関連するさまざまな属性を 参照します。JMS ID は要求変数またはオペランド と考えることができます。このオペランドはプロトコル固有のものである場合があります。例えば、SOAP サービス名は、 SOAP 作業クラスでのみ有効なオペランドです。
clienthost LIKE '%.ibm.com'で、'%.ibm.com' は要求のクライアント・ホスト名との比較に使用されるリテラルです。この式は、ibm.com ドメインのコンピューターから発信されるすべての要求に対して、 真です。ストリング・リテラルを単一引用符で 囲みます。数字リテラルは単一引用符で囲まないで ください。AND、 OR、NOT 演算子を含む括弧も、複合ブール式の形成に 使用できます。詳しくは、JMS 1.1 仕様 を参照してください。
オペランド | 構文 | 説明 |
---|---|---|
アプリケーション |
application | EJB が含まれているエンタープライズ・アプリケーションの名前。 |
クライアント・ホスト |
clienthost | 完全修飾クライアント・ホスト名。これは、 インターネット・プロトコル (IP) コマンド・ホスト名の値です。このオペランドは、>、>=、<、<= などの数値演算子をサポートしていません。 |
クライアント・ポート |
clientport |
クライアント・ポート名 |
EJB モジュール (EJB module) |
ejbmodule |
EJB のモジュール名。 |
EJB 名 |
ejb |
EJB の名前。 |
EJB メソッド |
ejbmethod | EJB 内のメソッドの名前。 |
割合 |
percentage$<val> | パーセンテージ・オペランドは、時間の固定パーセンテージに対して true に評価されます。
例えば、percentage$50 は、時間のパーセンテージが平均で 50% の場合に true に評価されます。 |
ポート |
port | 要求を受け取った listen ポート。 |
ランプアップ |
rampup$<startTime>$<completionTime> | ランプアップ・オペランドは、時間の可変パーセンテージに対して true に評価されます。
このオペランドは、<startTime> より前は常に false に、<completionTime> より後は常に true に評価されます。
時間が <startTime> から <completionTime> に進行するにつれ、このオペランドが true に評価される確率が高まります。
<startTime> および <completionTime> の形式は、 day/month/year::hour:min:sec です。 ここで、day は日付、month は 12 カ月のうちいずれかの月 (Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec)、year は 4 桁の年、hour は、24 時間クロックで表した時の 2 桁の時間、min と sec はそれぞれ分と秒です。以下に例を示します。 rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 は、2007 年 1 月 1 日午前 8 時から 時折 true に評価されるようになり、同日の午後 5 時のランプアップ完了時刻に至る頃には 常に true に評価されています。 |
サーバー・ホスト |
serverhost | サーバーの完全修飾ホスト名。このオペランドは、 >、>=、<、<= などの数値演算子をサポートしていません。 |
時間 |
time | 指定された要求が権限を持つ必要がある 日付と時刻を定義するために使用します。2 つのオプション・フィールドは StartTime と EndTime です。要求が定義済みウィンドウの外側で受け取られる場合、 その要求は処理されません。 「開始時刻」フィールドと「終了時刻」フィールドの フォーマットはそれぞれ dayOfWeek/dayOfMonth/month/year::hour:minute:second です。 例えば、 2007 年 4 月 11 日、木曜日午後 1:03:45 は、次のように指定されます。 Thu/11/Apr/2007::13:03:45 どのフィールドでも、値 * でワイルドカードを使用できます。 例えば、毎月の 1 日は */1 と指定します。 dayofWeek 値は Sun、Mon、Tue、Wed、Thu、Fri、Sat、dayOfMonth 値は 1 から 31 の範囲です。 month 値は 12 カ月を表す非数値の Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、 Dec です。 year 値は、4 桁の年で構成されます。例えば、 2007 です。 hour 値は、24 時間クロックの時間です。 例えば、午前 8 時は ::8 と表します。minute および second は 0 から 59 の範囲の整数です。 スラッシュ (/) は、日付パラメーターを区切るために 使用し、ダブル・コロン (::) は日付パラメーターを区切るために使用し、 コロン (:) は時刻パラメーターを区切るために使用します。これで、実行される ルーティング・アクションを決定するのは、time オペランドが使用される ルール全体のブール結果となります。 |
WebSphere® Virtual Enterprise は、ルール式で以下の表の演算子をサポートします。これらの演算子は、WHERE または HAVING 文節の内部に現れるので、SQL 用語では述部 とも呼ばれます。演算子は大/小文字を区別しません。
演算子 | 説明 |
---|---|
OR | 論理 OR 演算子。 |
AND | 論理 AND 演算子。 |
NOT | 否定演算子。 |
IN | 単一の式に複数の値を持つオペランドを表します。その意味は、演算子に対する SQL 標準の意味と整合します。
例えば、ポート値を 9080、9090、9091 などの値のいずれかまたはそのすべての可能性がある場合、以下の式フラグメントを使用します。
port IN (9080,9090,9091)
SQL では、括弧内の値の表し方は、ポートのデータ・タイプによって決まります。port が整数の場合、単一引用符がなくても値は構文的に正しくなります。port がストリングの場合、正しい式は、以下のようになります。
port IN ('9080','9090','9091') |
LIKE | ストリング・オペランド値のパターン・マッチングを表わします。値には、パターン・マッチングの始まりが予期される位置にワイルドカード文字 (%) が含まれている必要があります。 例えば、
host LIKE %blancaという式は、blanca という語および blanca で終わるすべての語に一致し、 host LIKE blanca%という式は、blanca という語および blanca で始まるすべての語に一致します。 host LIKE %blanca%という式は、blanca という語およびトークン blanca が埋め込まれたすべての語に一致します。 java.util.regex.Pattern クラスが使用されます。 |
= | 等価演算子は、大/小文字を区別した一致を表します。 |
> | より大演算子は、数値オペランドで使用されます。 |
>= | より大演算子または等価演算子は、数値オペランドで使用されます。 |
< | より小演算子は、数値オペランドで使用されます。 |
<= | より小演算子または等価演算子は、数値オペランドで使用されます。 |
< > | 非等価演算子。 |
BETWEEN | AND とともに使用して、最初の (低い) 値と最後の (高い) 値を含む、ある範囲の値を選択します。これら 2 つの値を一緒にして、数と日付の値に対して使用します。 |
IS NULL | オペランドに NULL 値が含まれているかどうかをテストします。 |
IS NOT NULL | オペランドに NULL 以外の値が含まれているかどうかをテストします。 |