ARM 应用程序属性和事务上下文数据

请求指标提供内置检测来监视事务流。可以将请求指标收集的数据发送到受支持的应用程序响应测量 (ARM) 代理程序。

ARM 应用程序属性

下表显示当请求指标初始化 ARM 4.0 代理程序时的 ARM 应用程序属性。

表 1. 身份属性名和值. 下表显示当请求指标初始化 ARM 4.0 代理程序时的 ARM 应用程序属性。
身份属性名
单元名 服务器所属单元的名称。
版本 WebSphere® Application Server 的版本。
表 2. 应用程序属性和值. 下表显示当请求指标初始化 ARM 4.0 代理程序时的 ARM 应用程序属性。
应用程序属性
已注册的应用程序名称 WebSphere:<server_type>

<server_type> 可以是 APPLICATION_SERVER、ONDEMAND_ROUTER 或 PROXY_SERVER。

应用程序组 <server_name>
应用程序实例 <node_name>.<server_name>
以下代码采样显示 WebSphere Application Server 如何创建 ARM 应用程序。
String serverType; // the server type like APPLICATION_SERVER
String version; // WebSphere version
String sCellName; // the cell name of dMgr
String sAppInstance. // <short_node_name>.<short_server_name>
String sServerInstance; // short server name
String sWasName = "WebSphere:" + serverType;
String[] IDNAMES = new String[]{"Cell Name", "Version"};
ArmIdentityProperties appIdentity = txFactory.newArmIdentityProperties(IDNAMES, new String[]{sCellName, version}, null);
ArmApplicationDefinition appDef = txFactory.newArmApplicationDefinition( sWasName, appIdentity, null );
ArmApplication app = txFactory.newArmApplication(appDef, sServerInstance, sAppInstance, null );

ARM 事务类型

您可以使用下列代码样本来创建 ARM 事务的实例。
String[] contextNames; // the names for the context data like Port, QueryString, URI, EJBName
String tranIdentityName; // the transaction types shown in the following table like URI, EJB.
String appDef; // defined and created in above code snippet under ARM application properties
String app; // defined and created in above code snippet under ARM application properties
ArmIdentityPropertiesTransaction props = armFactory.newArmIdentityPropertiesTransaction( null, null,  contextNames, null );   
ArmTransactionDefinition atd = armFactory.newArmTransactionDefinition(appDef, identityName, props, (ArmID)null);
ArmTransaction at = txFactory.newArmTransaction(app, atd );
本节中的后续部分显示了所有 ARM 事务类型及其相应的上下文名称。除非跟踪级别被设置为 DEBUG,否则不会检测某些类型的事务。另外,并非每个事务在所有类型的服务器中都可用。所有事务类型和上下文名称都是区分大小写的。

统一资源标识 (URI)

此事务类型是用于 servlet 和 JavaServer Page (JSP) 请求的统一资源标识 (URI)。以下所有事务类型和上下文名称可用于所有类型的服务器。

表 3. 事务类型:URI. 以下所有事务类型和上下文名称可用于所有类型的服务器。
事务类型:URI
上下文名称 描述
Port 请求所到达的 TCP/IP 端口,指定为十进制值的字符串表示。

示例:9080

QueryString 动态 URI 的一部分,它在 URI 字符串的查询段中包含请求的搜索参数,不包括问号 (?)。

示例:selection=EJB&lookup=GBL&trans=CMT

URI 使用的 servlet 和 JSP 文件的入局请求 URI。

示例:/hitcount

Enterprise JavaBeans (EJB)

此 EJB 事务类型和上下文名称仅可用于应用程序服务器。

表 4. 事务类型:EJB. 此 EJB 事务类型和上下文名称仅可用于应用程序服务器。
事务类型:EJB
上下文名称 描述
EJBName 标准 EJB 类名,后跟方法名,用句点(.)连接它们。例如,com.mypackge.MyEJBClass.mymethod。

示例:com.ibm.defaultapplication.IncrementBean.create

ApplicationName 包含企业 bean 的 Java™ 2 Platform Enterprise Edition (J2EE) 应用程序名称。

示例:DefaultApplication

ModuleName 包含企业 bean 的 J2EE 模块名称。

示例:Increment.jar

servlet 过滤器

servlet 过滤器事务类型仅在 DEBUG 跟踪级别可用。对于其他级别,不会检测 servlet 过滤器。此事务类型和上下文名称仅可用于应用程序服务器。

表 5. 事务类型:servlet 过滤器. 此事务类型和上下文名称仅可用于应用程序服务器。
事务类型 servlet 过滤器
上下文名称 描述
FilterName servlet 的 servlet 过滤器名称。

示例:ALoginFilter

Java 数据库连接 (JDBC)

JDBC 事务类型仅在 DEBUG 跟踪级别可用。对于其他级别,JDBC 是分块调用。此事务类型和上下文名称仅可用于应用程序服务器。

表 6. 事务类型:JDBC. 此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:JDBC
上下文名称 描述
ClassName JDBC 调用的接口名称。此名称不是实际的类名。

示例:java.sql.PreparedStatement

MethodName JDBC 调用的方法名称。

示例:executeUpdate()

Java EE 连接器体系结构 (JCA)

JCA 事务类型仅在 DEBUG 跟踪级别可用。对于其他级别,JCA 是分块调用。此事务类型和上下文名称仅可用于应用程序服务器。

表 7. 事务类型:JCA. 此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:JCA
上下文名称 描述
ClassName JCA 调用的类名。

示例:javax.resource.spi.ManagedConnection

MethodName JCA 调用的方法名称。

示例:getConnection(Subject, ConnectionRequestInfo)

Web Service 提供程序

Web Service 提供程序事务类型用于服务器端 Web Service 请求。此事务类型和 Wsdlport 以及 Operation 上下文名称在所有类型的服务器中都可用。TransportNameSpaceInputMessage 上下文名称仅在应用程序服务器中可用。

表 8. 事务类型:Web Service 提供程序. 此事务类型和 Wsdlport 以及 Operation 上下文名称在所有类型的服务器中都可用。TransportNameSpaceInputMessage 上下文名称仅在应用程序服务器中可用。
事务类型:Web Service 提供程序  
上下文名称 描述
WsdlPort 与 Web Service 相关联的 WSDL 端口名称。

示例:AccountManager

操作 与 Web Service 相关联的操作名称。

示例:createNewAccount

传输 与 Web Service 相关联的传输名称。

示例:http

NameSpace 与 Web Service 相关联的名称空间。

示例:http://accountmanager.mycorp.com

InputMessage 与 Web Service 相关联的输入消息名称。

示例:createNewAccountRequest

Web Service 请求者

Web Service 请求者事务类型仅在 DEBUG 跟踪级别可用。对于其他级别,Web Service 请求者是分块调用。此事务类型和上下文名称仅可用于应用程序服务器。

表 9. 事务类型:Web Service 请求者. 此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:Web Service 请求者
上下文名称 描述
WsdlPort 与 Web Service 相关联的 Web 服务描述语言 (WSDL) 端口名称。

示例:AccountManager

操作 与 Web Service 相关联的操作名称。

示例:createNewAccount

传输 与 Web Service 相关联的传输名称。

示例:http

参数 Web Service 请求的参数。

示例:customerName,addressStreet,addressCity,addressState,addressZip

Java 消息服务 (Java Message Service, JMS)

JMS 事务类型仅用于缺省消息传递中消息驱动的 bean (MDB) 方案,包括系统集成总线 (SIB) 层和 MQ。此事务类型和上下文名称仅可用于应用程序服务器。

表 10. 事务类型:JMS. 此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:JMS
上下文名称 描述
DestinationName Java™ 消息服务 (JMS) 的目标队列名称或主题名称。

示例:MyBusiness.Topic.Space

MessageSelector JMS 的消息选择器。
提供程序 提供程序指缺省消息传递、SIB 或 MQ。

示例:缺省消息传递

JMS 发送和接收

JMS 发送和接收事务类型仅在 DEBUG 跟踪级别可用。对于其他级别,JMS 发送和接收是分块调用。此事务类型和上下文名称仅可用于应用程序服务器。

表 11. 事务类型:JMS 发送/接收. 此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:JMS 发送/接收
上下文名称 描述
ClassName 执行调用的 JMS 提供程序中的类名。

示例:com.ibm.ws.sib.api.jms.impl.JmsTopicPublisherImpl

MethodName 执行调用的 JMS 提供程序中的方法名。

示例:sendMessage

服务集成总线 (SIB) 发送和接收

SIB 发送和接收事务类型仅在 DEBUG 跟踪级别可用。对于其他级别,SIB 发送和接收是分块调用。此事务类型和上下文名称仅可用于应用程序服务器。

表 12. 事务类型:SIB 发送/接收. 此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:SIB 发送/接收
上下文名称 描述
ClassName 执行调用的 SIB 层中的类名。

示例:com.ibm.ws.sib.processor.impl.ProducerSessionImpl

MethodName 执行调用的 SIB 层中的方法名。

示例:send

BusName 对其进行此调用的服务集成总线的名称。
DestinationName 对其进行此调用的服务集成目标的名称。

SIB 消息驱动的 bean (MDB)

SIB MDB 事务类型仅可用于应用程序服务器。

表 13. 事务类型:SIB MDB. SIB MDB 事务类型仅可用于应用程序服务器。
事务类型:SIB MDB。
上下文名称 描述
BusName MDB 正在侦听的目标所在的 SIB 的名称。
DestinationName 此 MDB 也侦听的 SIB 的名称。
MessageSelector 此 MDB 使用的消息选择器。
MdbDiscriminator 此 MDB 使用的鉴别器。
提供程序 此 MDB 所用于的提供程序类型。

示例:缺省消息传递或 SIB

SIB 调解

SIB 调解事务类型和上下文名称仅可用于应用程序服务器。

表 14. 事务类型:SIB 调解. SIB 调解事务类型和上下文名称仅可用于应用程序服务器。
事务类型:SIB 调解
上下文名称 描述
ClassName 执行调用的类名。
MethodName 执行调用的方法名。
MediationName JMS 的调解名称。

示例:myMediation

BusName JMS 的服务集成总线名称。

示例:thisBusName

DestinationName JMS 的目标名称。

示例:myMessageQueue

异步 bean

异步 bean 事务类型用于未设置 LONGRUNNING_HINT 的异步 bean 计时器、警报、延迟启动和 EE 并行任务。此事务类型和上下文名称仅可用于应用程序服务器。

表 15. 事务类型:异步 bean. 此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:异步 bean
上下文名称 描述
类型 异步 bean 任务的类型。

示例:COMMONJ_TIMER

ClassName 执行异步 bean 任务的类名。

示例:com.mycorp.MyTaskClass

Java 命名和目录接口 (JNDI)

JNDI 事务类型仅在 DEBUG 跟踪级别可用。对于其他跟踪级别,将不会检测 JNDI 调用。此事务类型和上下文名称仅可用于应用程序服务器。

表 16. 事务类型:JNDI. 此事务类型和上下文名称仅可用于应用程序服务器。
事务类型:JNDI
上下文名称 描述
JNDIName JNDI 查询名称。

示例:ejbJndiName

Portlet

portlet 事务类型和上下文名称仅可用于应用程序服务器。

表 17. 事务类型:Porlet. Portlet 事务类型和上下文名称仅可用于应用程序服务器。
事务类型:Portlet
上下文名称 描述
方法 当前利用的 Portlet 的方法,它可以是操作或呈示。
WindowID 当前利用的 Portlet 的窗口标识。
URI(这是一个 ARM 事务上下文属性名,不应与在 WebSphere servlet 事务上指定的显式 ARM 事务 URI 属性混淆,并且特别不应与 Enterprise Workload Manager (EWLM)“EWLM: URI”策略过滤器混淆。) 当前 Portlet 请求的上下文路径。

基于 HTTP 和 SOAP 协议的 ARM 相关因子

对于 HTTP 入站,WebSphere Application Server 会检查大小写敏感的 HTTP 头 “ARM_CORRELATOR” 以查找入局 ARM 相关因子。应用程序服务器不允许基于出站 HTTP 的 ARM 相关因子流。

对于进站的 SOAP,WebSphere Application Server 检查 SOAP 头的以下元素:
  • element =“arm_correlator”;
  • namespace URI = “http://websphere.ibm.com”,
  • prefix = “reqmetrics”;
  • actor URI = “reqmetricsURI”;
对于出站的 SOAP,WebSphere Application Server 创建新的 SOAP 头并将 ARM 相关因子字符串作为文本节点在头中传递。例如:
  • element =“arm_correlator”;
  • namespace URI = “http://websphere.ibm.com”,
  • prefix = “reqmetrics”;
  • actor URI = “reqmetricsURI”;
以下是具有 ARM 相关因子的 SOAP 头示例。注意,无论是使用 HTTP 协议还是使用 SOAP 协议,都必须以 ARM 相关因子字节数组的十六进制字符串格式传递 ARM 相关因子。
<soapenv:Header xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<reqmetrics:arm_correlator soapenv:actor="reqmetricsURI" xmlns:reqmetrics="http://websphere.ibm.com">
37000000000000000000
</reqmetrics:arm_correlator>
</soapenv:Header>

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



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