[AIX Solaris HP-UX Linux Windows][z/OS]

Intelligent Management:IIOP 操作数

可以使用子表达式实用程序构建器中的 IIOP 操作数及其关联的协议,此构建器是一个可选工具,可帮助您通过使用 AND、OR、NOT 和括号分组从子表达式构建复杂的规则条件。

使用下列子主题链接以查找特定的信息:

规则

每个工作类都包含一个可选的有序规则列表,对特定请求计算这些规则以确定该请求的策略。每个规则都由一个布尔表达式和一个策略值组成。如果该表达式对于特定请求计算为 true,那么将使用与该规则相关联的策略。

规则的布尔表达式的语法和语义类似于结构化查询语言 (SQL) 表达式的 WHERE 子句。更精确地说,表达式的语法由 Java™ Message Service (JMS) 1.1 规范定义。有关更多信息,请阅读“基于规则的请求分类”。

在 JMS 规范中,标识指的是与请求相关联的各种属性,例如,特定查询参数、cookie 或 HTTP 头。JMS 标识可视为请求变量或操作数。这些操作数可以特定于协议。例如,SOAP 服务名称是一个仅在 SOAP 工作类中有效的操作数。

因为 SOAP 在 HTTP 之上,因此 HTTP 操作数在 SOAP 请求中也有效。JMS 规范使用字面值来指定在与请求变量进行比较时要使用的特定值。例如,对于表达式:
clienthost LIKE '%.ibm.com'
'%.ibm.com' 是字面值,用于与请求的客户机主机名进行比较。此表达式对于所有由 ibm.com® 域中的计算机发出的请求为 true。用单引号将字符串文字括起。不要用单引号将数字文字括起。另外,还可以将括号以及 ANDORNOT 运算符一起使用以设定复合布尔表达式的格式。请参阅 JMS 1.1 规范以获取详细描述。

IIOP 操作数

表 1. IIOP 支持的操作数
操作数 语法 描述

应用程序

应用程序 包含 EJB 的企业应用程序的名称。

客户机主机

clienthost 标准的客户机主机名。这是因特网协议 (IP) 命令主机名的值。此操作数支持 >、>=、< 和 <= 之类的数字运算符。

客户机端口

clientport

客户机端口名。

EJB 模块

ejbmodule

EJB 的模块名。

EJB 名称

ejb

EJB 的名称。

EJB 方法

ejbmethod EJB 中某个方法的名称。

百分比

percentage$<val> 百分比操作数对时间的固定百分比求值为 true

例如,percentage$50 对时间的平均值 50% 求值为 true

端口

端口(port) 接收请求所在的侦听端口。

Rampup

rampup$<startTime>

  $<completionTime>

rampup 操作数对时间的可变百分比求值为 true。在 <startTime> 之前,此操作数始终求值为 false;在 <completionTime> 之后,它始终求值为 true。随着时间从 <startTime> 推移到 <completionTime>,此操作数按线性递增百分比概率求值为 true

<startTime><completionTime> 的格式为 day/month/year::hour:min:sec

其中 day 表示月份中的日期,month 表示月份(Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov 和 Dec),year 是用 4 位数字表示的年份,hour 是用 2 位数字表示的 24 小时制的小时,minsec 分别是用 2 位数字值表示的分钟和秒。

例如,

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 开始在 2007 年 1 月 1 日上午 8 点偶然求值为 true,并且在同一天的下午 5 点 ramp up 完成时一直求值为 true

服务器主机

serverhost 服务器的标准主机名称。此操作数支持 >、>=、< 和 <= 之类的数字运算符。

时间

time

用于定义必须执行给定请求的日期和时间。两个可选字段是“开始时间”和“结束时间”。如果在所定义的时间范围以外收到请求,那么将不处理该请求。

“开始时间”和“结束时间”字段都使用以下格式:dayOfWeek/dayOfMonth/month/year::hour:minute:second

例如,2007 年 4 月 11 日星期四下午 1 点 3 分 45 秒被指定为:

Thu/11/Apr/2007::13:03:45

任何字段都可以使用值 * 作为通配符。

例如,将每个月的第一天指定为 */1。

dayofWeek 值为 Sun、Mon、Tue、Wed、Thu、Fri 和 Sat,而 dayOfMonth 值的范围介于 1 至 31。

month 值是表示十二个月的非数字值:Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov 和 Dec。

year 值由表示某个年份的四个数字组成。例如 2007。

hour 值是一天中的某个小时(以 24 小时制表示)。例如,早上 8 点表示为 ::8。minutesecond 是范围介于 0 至 59 的整数。

正斜杠(/)用于分隔 date 参数、双冒号(::)用于分隔 hour 参数以及冒号(:)用于分隔 timeOfDay 参数。注意,由使用了 time 操作数的整个规则的布尔结果确定要执行的路由操作。

运算符

Intelligent Management 支持在下表中的规则表达式中使用运算符。因为这些运算符出现在 WHERE 或 HAVING 子句中,所以在 SQL 术语中也将其称为谓词。运算符不区分大小写。

表 2. 请求分类运算符
运算符 描述
OR 逻辑 OR 运算符。
AND 逻辑 AND 运算符。
NOT 否定运算符。
IN 在单个表达式中使用多个值来表示一个操作数。其含义与运算符的 SQL 标准含义一致。
例如,如果要将端口值表示为 9080、9090 和 9091 等值中的任意值或所有值,请使用表达式片段:
port IN (9080,9090,9091)
在 SQL 中,如何在括号中表示这些值取决于端口的数据类型。如果端口是整数,那么未加单引号的值在语法上是正确的。如果端口是字符串,那么正确的表达式为:
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 配合使用,用于选择一组值,包括第一个值(下限值)和最后一个值(上限值)。这两个运算符可以共同对数字和日期值执行运算。
IS NULL 测试操作数是否包含 NULL 值。
IS NOT NULL 测试操作数是否包含非 NULL 值。

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwve_odriiop
文件名:rwve_odriiop.html