+

Search Tips   |   Advanced Search

(ZOS) Workload classification file

The workload classification document is a common XML file that classifies inbound HTTP, IIOP, message-driven bean (MDB), SIP, optimized local adapter, and mediation work for the z/OS workload manager.


Usage notes

This topic contains examples of the workload classification file with and without Reliability Availability and Serviceability (RAS) attributes. RAS attributes allow us to achieve request-level RAS granularity for HTTP requests, IIOP requests, MDB requests, and optimized local adapter requests. You specify these attributes on the http_classification_info element, the iiop_classification_info element, the classificationentry element, the sib_classification_info element, the wmqra_classification_info element, and the ola_classification_info element in the workload classification file.

We use the workload classification file when completing the tasks for classifying z/OS workload or enabling request-level RAS granularity.


Required elements

<?xml version="1.0" encoding="UTF-8"?>

Indicates that the workload classification document must be saved in ASCII to be processed by the application server. This statement is required.

<!DOCTYPE Classification SYSTEM "Classifications.dtd">

Provides the XML parser with the name of the DTD document provided with the product, and used to validate the workload classification document. The workload classification document that you write must follow the rules described in this DTD. We must add this statement to the workload classification document.

Classification

<Classification schema_version="1.0">

Indicates the root of the workload classification document. Every workload classification document must begin and end with this element. The schema_version attribute is required. The only supported schema_version is 1.0. The Classification element contains one or more InboundClassification elements. For inbound service integration work, the Classification element can also contain up to two SibClassification elements. If classifying inbound messages for delivery to message-driven beans using IBM MQ messaging provider activation specifications, the Classification element can contain one or more WMQRAClassification elements.

InboundClassification

<InboundClassification
type="iiop"
schema_version="1.0"
default_transaction_class="iiopdflt"
default_iiop_application_name="application"
default_iiop_module_name="module"
default_iiop_component_name="component"> 
</InboundClassification>

Use the following rules when using the InboundClassification element:

  • The type attribute is required. The value must be internal, iiop, http, mdb, sip, or ola. Only one occurrence of an InboundClassification element can occur in the document for each type. There can be up to five InboundClassification elements in a document. The types do not have to be specified in a certain order in your classification document.

  • The schema_version attribute is required. The value must be set to 1.0.

  • The default_transaction_class attribute must be specified, and defines the default transaction class for work flows of the specified type. The string value must be a valid WLM transaction class, a null string (such as "") or a string containing eight or fewer blanks (such as " ").

  • The InboundClassification elements cannot be nested. Each InboundClassification element must end before the next InboundClassification element or SibClassification element can begin.

  • The default_iiop_application_name attribute is optional and defines the default application name for IIOP work flows that do not have an application name, module name or component name.

  • The default_iiop_module_name attribute is optional and defines the default module name for IIOP work flows that do not have an application name, module name or component name.

  • The default_iiop_component_name attribute is optional and defines the default component name for IIOP work flows that do not have an application name, module name or component name.
  • CORBA requests are an IIOP work flow that does not have an application name, module name or component name.

SibClassification

<SibClassification type="jmsra | destinationmediation" schema_version="1.0" default_transaction_class="value">

Use the following rules when using the SibClassification element:

  • The type attribute is required. The value must be jmsra or destinationmediation. There can be at most one SibClassification element in the document for each type. The types do not have to be specified in a certain order in your classification document.

  • The schema_version attribute is required. The value must be set to 1.0.

  • The default_transaction_class attribute must be specified, and defines the default transaction class for work flows of the specified type. The string value must be a valid WLM transaction class, a null string (such as "") or a string containing eight or fewer blanks (such as " ").

  • The SibClassification elements cannot be nested. Each SibClassification element must end before the next InboundClassification element or SibClassification element can begin.

WMQRAClassification

<WMQRAClassification schema_version="1.0" default_transaction_class="value">

The following rules apply to the WMQRAClassification element:

  • The schema_version attribute is required. The value must be set to 1.0.

  • The default_transaction_class attribute must be specified, and defines the default transaction class for work flows of the specified type. The string value must be a valid WLM transaction class.

  • The WMQRAClassification elements cannot be nested. Each WMQRAClassification element must end before any other classification elements can begin.

The rules and XML statements for classifying different types of work are similar, but there is slightly different syntax for each type. For more information about the syntax for each type of work, see the following sections:

InboundClassification

SibClassification

WMQRAClassification


Internal Classification

The InboundClassification element with the attribute type="internal" defines the section of the document that is applicable to internal work, such as requests that are dispatched in a servant, that originate in the owning controller. An example of this element follows:

<InboundClassification 	type="internal" schema_version="1.0" 
                         default_transaction_class="value1">

If an InboundClassification element with the type="internal" attribute is not specified, internal work is classified using the rules specified for IIOP work.


IIOP Classification

The InboundClassification element with the attribute type="iiop" defines the section of the document that is applicable to IIOP classification. An example of this element follows:

<InboundClassification 	type="iiop" schema_version="1.0" 
                         default_transaction_class="value1">

We can classify IIOP work based on the following Java EE application artifacts:

Classify IIOP work in various applications at any of these levels using the iiop_classification_info element.

iiop_classification_info

<iiop_classification_info transaction_class="value1"
                          application_name="value2"
                          module_name="value3"
                          component_name="value4"
                          method_name="value5"
                          description="value6" 
                          dispatch_timeout="value7"
                          queue_timeout_percent ="value8"
                          request_timeout="value9"
                          stalled_thread_dump_action="traceback"
                          cputimeused_limit="value11"
                          cputimeused_dump_action="traceback" 
                          dpm_interval="value13"
                          dpm_dump_action="traceback"
                          SMF_request_activity_enabled="1"
                          SMF_request_activity_timestamps="1"
                          SMF_request_activity_security="1"
                          SMF_request_activity_CPU_detail="1" 
                          classification_only_trace="1"
                          message_tag="value20">

With the iiop_classification_info element, we can build filters based on the application, module, component, and method names to assign TCLASS values, RAS attributes, or both to inbound requests. Use the following rules when using the iiop_classification_info element:

transaction_class

The transaction_class attribute is optional. If the attribute is not defined, it inherits the transaction class of its parent. The string value must be a valid WLM transaction class, a null string (such as "") or a string containing eight or fewer blanks (such as " "). By specifying a null or blank string, we can override a default TCLASS setting, or a TCLASS setting that was assigned by a higher level filter. Specifying a null or blank string means that we do not have a TCLASS value for the request.

application_name, module_name, component_name, and method_name

The attributes application_name, module_name, component_name, and method_name can be used as we need them. These attributes act as selectors or filters that either assign a transaction class or allow a nested iiop_classification_info element to assign the transaction class. We can specify the values of these attributes in the following ways:

  • The exact name of the application, module, component, or method.
  • A wild-card value. We can place an asterisk (*) anywhere in a string to indicate any string that starts with the string preceding the asterisk and ends with the string that follows the asterisk is considered a match. If the asterisk is at the end of the string, any string that starts with the string preceding the asterisk is considered a match.

    Examples:

    • The string Mar*61, matches Mar61, March61, and Mar20early61, but does not match March81 or AR61.

    • The string MAR* matches MARCH, MAR61, and MARS, but does not match Mar61 or MAY61.

    The value comparisons that are performed are case sensitive.

Use any combination of these attributes to make a classification filter. Use only the granularity required. For example, if there is only one application on the application server, the classification rules do not need to specify the application_name attribute.

RAS attributes

We can specify the following RAS attributes on the iiop_classification_info element. Nested elements inherit the RAS attributes of the parent element. Nested elements can override the RAS attributes of a parent element. All the RAS attributes are optional.

dispatch_timeout

Amount of time that a control region waits after dispatching a request to the WLM queue. If the control region does not receive a response in the specified time, it issues a time out. The request is a request that the classification element has classified.

The attribute overrides the control_region_wlm_dispatch_timeout server property.

queue_timeout_percent

The WLM queue timeout as a percentage of the dispatch timeout. The range for the percentage is 0 - 99. The queue timeout is the amount of time a request can remain on the WLM queue undispatched before the request times out. The request is a request that the classification element has classified.

The attribute overrides the control_region_iiop_queue_timeout_percent server property.

request_timeout

Timeout value in seconds applied to outbound requests that originate under dispatched requests. The dispatched request is a request that the classification element has classified.

The attribute overrides the com.ibm.CORBA.RequestTimeout server property.

stalled_thread_dump_action

Dump action that the server takes when requests exceed their dispatch timeout specified on the dispatch_timeout attribute. The request is a request that the classification element has classified. Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_iiop_stalled_thread_dump_action server property.

cputimeused_limit

The CPU timeout in milliseconds. The CPU timeout is the amount of CPU time allowed for the request before the request times out. The request is a request that the classification element has classified.

The attribute overrides the server_region_request_cputimeused_limit server property.

cputimeused_dump_action

Dump action that the server takes when requests exceed their CPU timeout specified on the cputimeused_limit attribute. The request is a request that the classification element has classified.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_cputimeused_dump_action server property.

dpm_interval

Specifies in seconds the Dispatch Progress Monitor (DPM) interval. The DPM monitor triggers the DPM dump action on the interval for requests that the classification element has classified. Specify the DMP dump action on the dpm_dump_action attribute.

The attribute does not override any server properties. We must use the modify command to enable server-wide DPM intervals.

dpm_dump_action

The DPM dump action taken at every DPM interval for requests that the classification element classifies. Specify the DPM interval on the dpm_interval attribute.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_dpm_dump_action server property.

SMF_request_activity_enabled

Specifies whether System Management Facilities (SMF) 120 subtype 9 records are collected for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_enabled server property.

SMF_request_activity_timestamps

Specifies whether to format timestamps in human-readable form on the SMF 120 subtype 9 record for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_timestamps server property.

SMF_request_activity_security

Specifies whether the security data section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_security server property.

SMF_request_activity_CPU_detail

Specifies whether the CPU usage breakdown section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_CPU_detail server property.

classification_only_trace

Specifies whether to generate trace records for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute does not override any server properties. The TRACERECORD modify command overrides the classification_only_trace.

If any classification element has classification_only_trace set to 1, then classification level tracing is in effect for the application server. The only threads that generate trace records are threads that process requests that a classification element classifies. That classification element must define classification_only_trace="1". Any thread not processing such a request has trace collection disabled and does not generate trace records.

If no classification element defines classification_only_trace="1", then classification level tracing is not in effect for the application server. The server does not disable trace collection for any threads. All trace records are written to output as prescribed by the trace specification.

The classification_only_trace attribute does not affect how a trace specification is defined and activated. The attribute only affects which threads write trace records.

message_tag

Specifies a string token that prints with all the trace records, log messages, and system messages generated for requests that the classification element classifies.

The attribute has a maximum of eight characters.

The attribute does not override any server properties.

Classification filters

  • The iiop_classification_info elements can be nested in a hierarchical manner. By nesting the elements, we can create classification filters that are based on the attribute values. The following filter classifies requests on the EJB1 and EJB2 enterprise beans in the MyAPP1 application:
    <iiop_classification_info transaction_class="FAST"
                              application_name="MyAPP1"
                              component_name="EJB1" />
    <iiop_classification_info transaction_class="SLOW"
                              application_name="MyAPP1"
                              component_name="EJB2" />
    

    The following filter also classifies requests on EJB1 and EJB2 in the yAPP1 application, but also classifies requests on any other EJB in the application:

    <iiop_classification_info transaction_class="MEDIUM"
                              application_name="MyAPP1">
         <iiop_classification_info transaction_class="FAST"
                                   component_name="EJB1" />
         <iiop_classification_info transaction_class="SLOW"
                                   component_name="EJB2" />
    </iiop_classification_info>
    

  • If we specify an attribute value that conflicts with the attribute value of the parent element, the lower-level filter is negated. An example of a child value that conflicts with the attribute value of the parent element follows:
    <iiop_classification_info transaction_class="FAST"
                              application_name="MyAPP1">
         <iiop_classification_info transaction_class="SLOW"
                                   application_name="MyAPP2" />
    </iiop_classification_info>
    

    In this example, EJB Requests in MyAPP2 would never be assigned to transaction class "SLOW" because the higher level filter only allows IIOP requests for application_name="MyAPP1" to be passed through to the lower-level filter.

  • The first filter at a specific level that matches the attributes of the request is used, not the best or most restrictive filter. Therefore, the order specified filters is important.
    <iiop_classification_info transaction_class="FAST"
                              application_name="MyAPP" />
         <iiop_classification_info transaction_class="SLOW"
                                   component_name="*" />
         <iiop_classification_info transaction_class="MEDIUM"
                                   component_name="MySSB" />
    </iiop_classification_info>								
    

    In the preceding example, all the IIOP requests that are processed by enterprise beans in the MyAPP application are assigned a TCLASS value of SLOW. This assignment is done for any requests to the MySSB enterprise as well. Even though MySSB is assigned a transaction class, the filter is not applied because the first filter was applied and was assigned a TCLASS value of SLOW. The remaining list of filters at the same level is ignored.

  • The description field is optional. However, we should use a description on all iiop_classification_info elements. The description string prints as part of the operator command support so we can identify the classification rules that are being used. Keep your descriptions reasonably short because they are displayed in the MVS™ console.


HTTP classification

The InboundClassification element with the attribute type="http" defines the section of the document that is applicable to HTTP classification. An example of this element follows:

<InboundClassification  	type="http"
                        schema_version="1.0"
                        default_transaction_class="value1">

HTTP work can be classified based on the following J2EE artifacts:

We can classify HTTP work in various applications at any of these levels using the http_classification_info element.

<http_classification_info transaction_class="value1"
                          host="value2"
                          port="value3"
                          uri="value4"
                          description="value5"
                          dispatch_timeout="value6"
                          queue_timeout_percent ="value7"
                          request_timeout="value8"
                          stalled_thread_dump_action="traceback"
                          cputimeused_limit="value10"
                          cputimeused_dump_action="traceback" 
                          dpm_interval="value12"
                          dpm_dump_action="traceback"
                          SMF_request_activity_enabled="1"
                          SMF_request_activity_timestamps="1"
                          SMF_request_activity_security="1"
                          SMF_request_activity_CPU_detail="1"
                          classification_only_trace="1"
                          message_tag="value19"
                          timeout_recovery="value20">

With the http_classification_info element, we can build filters based on the host, port, and URI to assign TCLASS values, RAS attributes, or both to inbound requests. Use the following rules when we use the http_classification_info element:

transaction_class

The transaction_class attribute is optional. If the attribute is not defined, it inherits the transaction class of its parent. The string value must be a valid WLM transaction class, a null string (such as "") or a string containing eight or fewer blanks (such as " "). By specifying a null or blank string, we can override a default TCLASS setting, or a TCLASS setting that was assigned by a higher level filter. Specifying a null or blank string means that we do not have a TCLASS value for the request.

host, port, and uri

These attributes act as filters that either assign a transaction class or allow a nested http_classification_info element to assign the transaction class. Specify the values of these attributes in the following ways:

  • The name of the host, port, or URI.

  • Any value. Use the asterisk character to specify a match to any value between two forward slash characters or at the end of a string.
  • A wildcard value. Place an asterisk anywhere in a string to indicate a match to any string that starts with the characters before the asterisk and ends with the characters that follow the asterisk. If we place the asterisk at the end of a string, any string that starts with the characters before the asterisk is considered a match. A single asterisk does not match a slash character. Use two consecutive asterisks to match any number of slash characters.

  • If we do not specify a value for an attribute, all values for that attribute match.
  • Examples:

    • The string Mar*61 matches Mar61, March61, and Mar20early61, but Mar*61 does not match March81.

    • The string MAR* matches MARCH, MAR61, and MARS, but MAR* does not match Mar61 or MAY61.

    • The string /test*/* matches /testplan/index.html, but /test*/* does not match /testplan/beta/welcome.html.

    • The string *.html matches /autoshow.html, but *.html does not match /springtime/autoshow.html.

    • The string /go/set*/**/archive.jsp matches /go/setup/Revisions/2/archive.jsp, /go/seth/Revisions/2/archive.jsp, /go/set/archive.jsp.

The value comparisons are case sensitive.

Use any or all these attributes to make a classification filter. Use only the granularity required. For example, if only one application is on the application server, the classification rules do not need to specify the uri attribute.

RAS attributes:

We can specify the following RAS attributes on the http_classification_info element. Nested elements inherit the RAS attributes of the parent element. Nested elements can override the RAS attributes of a parent element. All the RAS attributes are optional.

dispatch_timeout

Amount of time that a control region waits after dispatching a request to the WLM queue. If the control region does not receive a response in the specified time, it issues a time out. The request is a request that the classification element has classified.

The attribute overrides the following server properties:

HTTP

protocol_http_timeout_output

HTTPS

protocol_https_timeout_output

queue_timeout_percent

The WLM queue timeout as a percentage of the dispatch timeout. The range for the percentage is 0 - 99. The queue timeout is the amount of time a request can remain on the WLM queue undispatched before the request times out. The request is a request that the classification element has classified.

The attribute overrides the following server properties:

HTTP

control_region_http_queue_timeout_percent

HTTPS

control_region_https_queue_timeout_percent

request_timeout

Timeout value in seconds applied to outbound requests that originate under dispatched requests. The dispatched request is a request that the classification element has classified.

The attribute overrides the com.ibm.CORBA.RequestTimeout server property.

stalled_thread_dump_action

Dump action that the server takes when requests exceed their dispatch timeout specified on the dispatch_timeout attribute. The request is a request that the classification element has classified. Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the following server properties:

HTTP

server_region_http_stalled_thread_dump_action

HTTPS

server_region_https_stalled_thread_dump_action

cputimeused_limit

The CPU timeout in milliseconds. The CPU timeout is the amount of CPU time allowed for the request before the request times out. The request is a request that the classification element has classified.

The attribute overrides the server_region_request_cputimeused_limit server property.

cputimeused_dump_action

Dump action that the server takes when requests exceed their CPU timeout specified on the cputimeused_limit attribute. The request is a request that the classification element has classified.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_cputimeused_dump_action server property.

dpm_interval

Specifies in seconds the Dispatch Progress Monitor (DPM) interval. The DPM monitor triggers the DPM dump action on the interval for requests that the classification element has classified. Specify the DMP dump action on the dpm_dump_action attribute.

The attribute does not override any server properties. We must use the modify command to enable server-wide DPM intervals.

dpm_dump_action

The DPM dump action taken at every DPM interval for requests that the classification element classifies. Specify the DPM interval on the dpm_interval attribute.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_dpm_dump_action server property.

SMF_request_activity_enabled

Specifies whether System Management Facilities (SMF) 120 subtype 9 records are collected for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_enabled server property.

SMF_request_activity_timestamps

Specifies whether to format timestamps in human-readable form on the SMF 120 subtype 9 record for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_timestamps server property.

SMF_request_activity_security

Specifies whether the security data section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_security server property.

SMF_request_activity_CPU_detail

Specifies whether the CPU usage breakdown section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_CPU_detail server property.

classification_only_trace

Specifies whether to generate trace records for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute does not override any server properties. The TRACERECORD modify command overrides the classification_only_trace.

If any classification element has classification_only_trace set to 1, then classification level tracing is in effect for the application server. The only threads that generate trace records are threads that process requests that a classification element classifies. That classification element must define classification_only_trace="1". Any thread not processing such a request has trace collection disabled and does not generate trace records.

If no classification element defines classification_only_trace="1", then classification level tracing is not in effect for the application server. The server does not disable trace collection for any threads. All trace records are written to output as prescribed by the trace specification.

The classification_only_trace attribute does not affect how a trace specification is defined and activated. The attribute only affects which threads write trace records.

message_tag

Specifies a string token that prints with all the trace records, log messages, and system messages generated for requests that the classification element classifies.

The attribute has a maximum of eight characters.

The attribute does not override any server properties.

timeout_recovery

Action that the server takes when a request that the classification element classified exceeds its dispatch timeout. Specify the dispatch timeout on the dispatch_timeout attribute.

Valid values are servant and session.

When the attribute is set to servant, the servant address space processing the request terminates with an ABEND EC3 and a reason code 04130007. The controller address space sends a failure response to the client, then closes the socket associated with the request.

When the attribute is set to session, the controller address space sends a failure response to the client, then closes the socket associated with the request. The Servant address space is not terminated. The request is not disrupted, but instead is permitted to run to completion.

The attribute overrides the following server properties:

HTTP

protocol_http_timeout_output_recovery

HTTPS

protocol_https_timeout_output_recovery

Classification filters:


MDB classification

The InboundClassification element with the attribute type="mdb" defines the section of the document that applies to work for EJB 2.0 message-driven beans (MDBs) deployed with listener ports. An example of this element follows:

<InboundClassification  type="mdb"
                        schema_version="1.0"
                        default_transaction_class="qrs">

Each InboundClassification element can contain one or more endpoint elements with a messagelistenerport type defined. Define one endpoint element for each listener port defined in the server to associate transaction classes with the message-driven bean. An example of the endpoint element follows:

<endpoint  type="messagelistenerport" 
           name="IPVListenerPort" 
           defaultclassification="MDBX"
           description="ABC">

Use the following rules when defining your endpoint elements:

Each endpoint element can have zero, one, or more classificationentry elements. An example of a classification entry element follows:

<classificationentry  selector="Location=&apos;East&apos;"
                      classification="MDB2"
                      description="XYZ" 
                      dispatch_timeout="value1"
                      queue_timeout_percent ="value2"
                      request_timeout="value3"
                      stalled_thread_dump_action="traceback"
                      cputimeused_limit="value5"
                      cputimeused_dump_action="traceback" 
                      dpm_interval="value7"
                      dpm_dump_action="traceback"
                      SMF_request_activity_enabled="1"
                      SMF_request_activity_timestamps="1"
                      SMF_request_activity_security="1"
                      SMF_request_activity_CPU_detail="1" 
                      classification_only_trace="1"
                      message_tag="value14"/>

selector

Use the selector attribute of the classificationentry element to assign a transaction class to a message-driven bean that has a selector clause in its deployment descriptor. Use the following rules when defining your classificationentry elements:

  • The value of the selector attribute must match exactly to the selector clause in the MDB deployment descriptor.

  • The value of the selector attribute must have the correct syntax for an XML document. We must replace the < symbol with the &lt; entity reference and the and > symbol with the &gt; entity reference. Similarly, if we use an apostrophe or quotation mark, use the &apos; and &quot; entity references.

classification

The classification attribute is optional. If the attribute is not defined, it inherits the classification of its parent. The string value must be a valid WLM transaction class, a null string (such as "") or a string containing eight or fewer blanks (such as " "). By specifying a null or blank string, we can override a default TCLASS setting, or a TCLASS setting that was assigned by a higher level filter. Specifying a null or blank string means that we do not have a TCLASS value for the request.

RAS attributes:

We can specify the following RAS attributes on the classificationentry element. Nested elements inherit the RAS attributes of the parent element. Nested elements can override the RAS attributes of a parent element. All the RAS attributes are optional.

dispatch_timeout

Amount of time that a control region waits after dispatching a request to the WLM queue. If the control region does not receive a response in the specified time, it issues a time out. The request is a request that the classification element has classified.

The attribute overrides the control_region_mdb_request_timeout server property.

queue_timeout_percent

The WLM queue timeout as a percentage of the dispatch timeout. The range for the percentage is 0 - 99. The queue timeout is the amount of time a request can remain on the WLM queue undispatched before the request times out. The request is a request that the classification element has classified.

The attribute overrides the control_region_mdb_queue_timeout_percent server property.

request_timeout

Timeout value in seconds applied to outbound requests that originate under dispatched requests. The dispatched request is a request that the classification element has classified.

The attribute overrides the com.ibm.CORBA.RequestTimeout server property.

stalled_thread_dump_action

Dump action that the server takes when requests exceed their dispatch timeout specified on the dispatch_timeout attribute. The request is a request that the classification element has classified. Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_mdb_stalled_thread_dump_action server property.

cputimeused_limit

The CPU timeout in milliseconds. The CPU timeout is the amount of CPU time allowed for the request before the request times out. The request is a request that the classification element has classified.

The attribute overrides the server_region_request_cputimeused_limit server property.

cputimeused_dump_action

Dump action that the server takes when requests exceed their CPU timeout specified on the cputimeused_limit attribute. The request is a request that the classification element has classified.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_cputimeused_dump_action server property.

dpm_interval

Specifies in seconds the Dispatch Progress Monitor (DPM) interval. The DPM monitor triggers the DPM dump action on the interval for requests that the classification element has classified. Specify the DMP dump action on the dpm_dump_action attribute.

The attribute does not override any server properties. We must use the modify command to enable server-wide DPM intervals.

dpm_dump_action

The DPM dump action taken at every DPM interval for requests that the classification element classifies. Specify the DPM interval on the dpm_interval attribute.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_dpm_dump_action server property.

SMF_request_activity_enabled

Specifies whether System Management Facilities (SMF) 120 subtype 9 records are collected for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_enabled server property.

SMF_request_activity_timestamps

Specifies whether to format timestamps in human-readable form on the SMF 120 subtype 9 record for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_timestamps server property.

SMF_request_activity_security

Specifies whether the security data section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_security server property.

SMF_request_activity_CPU_detail

Specifies whether the CPU usage breakdown section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_CPU_detail server property.

classification_only_trace

Specifies whether to generate trace records for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute does not override any server properties. The TRACERECORD modify command overrides the classification_only_trace.

If any classification element has classification_only_trace set to 1, then classification level tracing is in effect for the application server. The only threads that generate trace records are threads that process requests that a classification element classifies. That classification element must define classification_only_trace="1". Any thread not processing such a request has trace collection disabled and does not generate trace records.

If no classification element defines classification_only_trace="1", then classification level tracing is not in effect for the application server. The server does not disable trace collection for any threads. All trace records are written to output as prescribed by the trace specification.

The classification_only_trace attribute does not affect how a trace specification is defined and activated. The attribute only affects which threads write trace records.

message_tag

Specifies a string token that prints with all the trace records, log messages, and system messages generated for requests that the classification element classifies.

The attribute has a maximum of eight characters.

The attribute does not override any server properties.


Optimized local adapter classification

The InboundClassification element with the attribute type="ola" defines the section of the document that is applicable to optimized local adapter classification. An example of this element follows:

<InboundClassification 	type="ola" schema_version="1.0" 
                         default_transaction_class="value1"
>

We can classify optimized local adapter work by adding a section for each EJB application that uses the service name or JNDI home name. Use a wildcard for the JNDI home name.

Classify optimized local adapter work in various applications at any of these levels using the ola_classification_info element.

ola_classification_info

<ola_classification_info  transaction_class="value1"
                          propagate_transaction_name="value2"
                          service_name="value3"
                          description="value4" 
                          dispatch_timeout="value5"
                          queue_timeout_percent ="value6"
                          request_timeout="value7"
                          stalled_thread_dump_action="traceback"
                          cputimeused_limit="value9"
                          cputimeused_dump_action="traceback" 
                          dpm_interval="value11"
                          dpm_dump_action="traceback"
                          SMF_request_activity_enabled="1"
                          SMF_request_activity_timestamps="1"
                          SMF_request_activity_security="1"
                          SMF_request_activity_CPU_detail="1" 
                          classification_only_trace="1"
                          message_tag="value18">

With the ola_classification_info element, we can build filters based on the service or JNDI name. Use the name to assign TCLASS values, RAS attributes, or both to inbound requests. Use the following rules when using the ola_classification_info element:

transaction_class

The transaction_class attribute is optional. If the attribute is not defined, it inherits the transaction class of its parent. The string value must be a valid WLM transaction class, a null string (such as "") or a string containing eight or fewer blanks (such as " "). By specifying a null or blank string, we can override a default TCLASS setting, or a TCLASS setting that was assigned by a higher level filter. Specifying a null or blank string means that we do not have a TCLASS value for the request.

propagate_transaction_name

The propagate_transaction_name attribute is optional. If the attribute is specified, the string value must be true or false. By specifying a value of true, the WLM service class from Customer Information Control System (CICS ) is propagated to the application server on each request or on each matching request if the service_name filter is specified. The work dispatched in the application server through the optimized local adapter runs under the same service class as the client request.

service_name

The service_name attribute is optional. This attribute acts as a selector or filter that either assigns a transaction class or allows a nested ola_classification_info element to assign the transaction class. We can specify the value of this attribute in the following ways:

  • The exact service name or JNDI home name of the EJB application to be driven.
  • A wild-card value. We can place an asterisk (*) anywhere in a string to indicate any string that starts with the string preceding the asterisk and ends with the string that follows the asterisk is considered a match. If the asterisk is at the end of the string, any string that starts with the string preceding the asterisk is considered a match.

    Examples:

    • service_name="ejb/mySecondBean"
    • service_name="ejb/my*Bean"
    • service_name="ejb/my*"
    • service_name="ejb/security/*"

    CAUTION:

    The value comparisons that the application server performs are case sensitive.

RAS attributes

We can specify the following RAS attributes on the ola_classification_info element. Nested elements inherit the RAS attributes of the parent element. Nested elements can override the RAS attributes of a parent element. All the RAS attributes are optional.

dispatch_timeout

Amount of time that a control region waits after dispatching a request to the WLM queue. If the control region does not receive a response in the specified time, it issues a time out. The request is a request that the classification element has classified.

The attribute overrides the control_region_wlm_dispatch_timeout server property.

queue_timeout_percent

The WLM queue timeout as a percentage of the dispatch timeout. The range for the percentage is 0 - 99. The queue timeout is the amount of time a request can remain on the WLM queue undispatched before the request times out. The request is a request that the classification element has classified.

The attribute overrides the control_region_iiop_queue_timeout_percent server property.

request_timeout

Timeout value in seconds applied to outbound requests that originate under dispatched requests. The dispatched request is a request that the classification element has classified.

The attribute overrides the com.ibm.CORBA.RequestTimeout server property.

stalled_thread_dump_action

Dump action that the server takes when requests exceed their dispatch timeout specified on the dispatch_timeout attribute. The request is a request that the classification element has classified. Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_iiop_stalled_thread_dump_action server property.

cputimeused_limit

The CPU timeout in milliseconds. The CPU timeout is the amount of CPU time allowed for the request before the request times out. The request is a request that the classification element has classified.

The attribute overrides the server_region_request_cputimeused_limit server property.

cputimeused_dump_action

Dump action that the server takes when requests exceed their CPU timeout specified on the cputimeused_limit attribute. The request is a request that the classification element has classified.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_cputimeused_dump_action server property.

dpm_interval

Specifies in seconds the Dispatch Progress Monitor (DPM) interval. The DPM monitor triggers the DPM dump action on the interval for requests that the classification element has classified. Specify the DMP dump action on the dpm_dump_action attribute.

The attribute does not override any server properties. We must use the modify command to enable server-wide DPM intervals.

dpm_dump_action

The DPM dump action taken at every DPM interval for requests that the classification element classifies. Specify the DPM interval on the dpm_interval attribute.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_dpm_dump_action server property.

SMF_request_activity_enabled

Specifies whether System Management Facilities (SMF) 120 subtype 9 records are collected for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_enabled server property.

SMF_request_activity_timestamps

Specifies whether to format timestamps in human-readable form on the SMF 120 subtype 9 record for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_timestamps server property.

SMF_request_activity_security

Specifies whether the security data section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_security server property.

SMF_request_activity_CPU_detail

Specifies whether the CPU usage breakdown section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_CPU_detail server property.

classification_only_trace

Specifies whether to generate trace records for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute does not override any server properties. The TRACERECORD modify command overrides the classification_only_trace.

If any classification element has classification_only_trace set to 1, then classification level tracing is in effect for the application server. The only threads that generate trace records are threads that process requests that a classification element classifies. That classification element must define classification_only_trace="1". Any thread not processing such a request has trace collection disabled and does not generate trace records.

If no classification element defines classification_only_trace="1", then classification level tracing is not in effect for the application server. The server does not disable trace collection for any threads. All trace records are written to output as prescribed by the trace specification.

The classification_only_trace attribute does not affect how a trace specification is defined and activated. The attribute only affects which threads write trace records.

message_tag

Specifies a string token that prints with all the trace records, log messages, and system messages generated for requests that the classification element classifies.

The attribute has a maximum of eight characters.

The attribute does not override any server properties.

Classification filters:

  • The ola_classification_info elements can be nested in a hierarchical manner. By nesting the elements, we can create classification filters that are based on the attribute values.
    <ola_classification_info transaction_class="MEDIUM"
                              service_name="ejb/my*Bean">
         <ola_classification_info transaction_class="FAST"
                                   service_name="ejb/myFastBean" />
         <ola_classification_info transaction_class="SLOW"
                                   service_name="ejb/mySlowBean" />
    </ola_classification_info>
    

  • The description field is optional. Use a description on all ola_classification_info elements. The description string prints as part of the operator command support so we can identify the classification rules that are being used. Keep your descriptions reasonably short because they are displayed in the MVS console.


SIP Classification

The InboundClassification element with the attribute type="sip" defines the section of the document that sets the default transaction class for SIP requests. An example of this element follows:

<InboundClassification 	type="sip" schema_version="1.0" 
                         default_transaction_class="value1">


JMS RA classification

The SibClassification element with the attribute type="jmsra" defines the section of the document that applies to work for message-driven beans (MDBs) deployed against JCA 1.5-compliant resources for use with the JCA resource adapter (RA) of the default messaging provider. An example of this element follows:

<SibClassification  type="jmsra"
                        schema_version="1.0"
                        default_transaction_class="a">

Each SibClassification element can contain one or more sib_classification_info elements. An example of a classification entry element follows:

<sib_classification_info  
                      transaction_class="sibb"
                      selector="user.Location=&apos;East&apos;"
                      bus="bigrred"
                      destination="abusqueue"
                      description="Some words" 
                      discriminator="XPath Expression"
                      dispatch_timeout="value1"
                      queue_timeout_percent ="value2"
                      request_timeout="value3"
                      stalled_thread_dump_action="traceback"
                      cputimeused_limit="value5"
                      cputimeused_dump_action="traceback" 
                      dpm_interval="value7"
                      dpm_dump_action="traceback"
                      SMF_request_activity_enabled="1"
                      SMF_request_activity_timestamps="1"
                      SMF_request_activity_security="1"
                      SMF_request_activity_CPU_detail="1" 
                      classification_only_trace="1"
                      message_tag="value14"/>

selector

Use the selector attribute of the sib_classification_info element to assign a transaction class to a message-driven bean that has a selector clause in its deployment descriptor. Use the following rules when defining your sib_classification_info elements:

  • The value of the selector attribute is an SQL expression that selects a message according to the values of the message properties. The syntax is that of a message selector in the JMS 1.1 specification, but it can operate on SIMessage messages (more than JMS messages). The syntax can select on system properties (including JMS headers, JMSX properties, and JMS_IBM_properties) and user properties (which must be prefixed by ".user" - for example, for the user property "Location", the selector would specify "user.Location" as shown in the preceding example). See topic on working with message properties.

  • The value of the selector attribute must have the correct syntax for an XML document. We must replace the < symbol with the &lt; entity reference and the > symbol with the &gt; entity reference. Similarly, if we use an apostrophe or quotation mark, use the &apos; and &quot; entity references.

bus

The name of the service integration bus on which the target destination is assigned. The classification applies to the bus named by this property, or to any bus if we do not specify this property. The destinations to which the classification applies depend on your use of the destination property.

destination

The name of the target bus destination to which the message has been delivered. This is the name of a queue or topic space. The classification applies to the destination named by this property, or any destination if we do not specify this property. The service integration buses to which the classification applies depend on your use of the bus property.

discriminator

The property applies only when the destination property names a topic space. This discriminator value is then an XPath expression that selects one or more topics within the topic space.

description

Although the description field is optional, we should use it on all the sib_classification_info elements. The description is displayed when you monitor the transaction classes in the MVS console.

RAS attributes

We can specify the following RAS attributes on the sib_classification_info element. Nested elements inherit the RAS attributes of the parent element. Nested elements can override the RAS attributes of a parent element. All the RAS attributes are optional.

dispatch_timeout

Amount of time that a control region waits after dispatching a request to the WLM queue. If the control region does not receive a response in the specified time, it issues a time out. The request is a request that the classification element has classified.

The attribute overrides the control_region_wlm_dispatch_timeout server property.

queue_timeout_percent

The WLM queue timeout as a percentage of the dispatch timeout. The range for the percentage is 0 - 99. The queue timeout is the amount of time a request can remain on the WLM queue undispatched before the request times out. The request is a request that the classification element has classified.

The attribute overrides the control_region_iiop_queue_timeout_percent server property.

request_timeout

Timeout value in seconds applied to outbound requests that originate under dispatched requests. The dispatched request is a request that the classification element has classified.

The attribute overrides the com.ibm.CORBA.RequestTimeout server property.

stalled_thread_dump_action

Dump action that the server takes when requests exceed their dispatch timeout specified on the dispatch_timeout attribute. The request is a request that the classification element has classified. Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_iiop_stalled_thread_dump_action server property.

cputimeused_limit

The CPU timeout in milliseconds. The CPU timeout is the amount of CPU time allowed for the request before the request times out. The request is a request that the classification element has classified.

The attribute overrides the server_region_request_cputimeused_limit server property.

cputimeused_dump_action

Dump action that the server takes when requests exceed their CPU timeout specified on the cputimeused_limit attribute. The request is a request that the classification element has classified.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_cputimeused_dump_action server property.

dpm_interval

Specifies in seconds the Dispatch Progress Monitor (DPM) interval. The DPM monitor triggers the DPM dump action on the interval for requests that the classification element has classified. Specify the DMP dump action on the dpm_dump_action attribute.

The attribute does not override any server properties. We must use the modify command to enable server-wide DPM intervals.

dpm_dump_action

The DPM dump action taken at every DPM interval for requests that the classification element classifies. Specify the DPM interval on the dpm_interval attribute.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_dpm_dump_action server property.

SMF_request_activity_enabled

Specifies whether System Management Facilities (SMF) 120 subtype 9 records are collected for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_enabled server property.

SMF_request_activity_timestamps

Specifies whether to format timestamps in human-readable form on the SMF 120 subtype 9 record for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_timestamps server property.

SMF_request_activity_security

Specifies whether the security data section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_security server property.

SMF_request_activity_CPU_detail

Specifies whether the CPU usage breakdown section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_CPU_detail server property.

classification_only_trace

Specifies whether to generate trace records for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute does not override any server properties. The TRACERECORD modify command overrides the classification_only_trace.

If any classification element has classification_only_trace set to 1, then classification level tracing is in effect for the application server. The only threads that generate trace records are threads that process requests that a classification element classifies. That classification element must define classification_only_trace="1". Any thread not processing such a request has trace collection disabled and does not generate trace records.

If no classification element defines classification_only_trace="1", then classification level tracing is not in effect for the application server. The server does not disable trace collection for any threads. All trace records are written to output as prescribed by the trace specification.

The classification_only_trace attribute does not affect how a trace specification is defined and activated. The attribute only affects which threads write trace records.

message_tag

Specifies a string token that prints with all the trace records, log messages, and system messages generated for requests that the classification element classifies.

The attribute has a maximum of eight characters.

The attribute does not override any server properties.

Each sib_classification_info element can contain one or more of these properties as needed to classify the work for a message. A sib_classification_info element cannot contain more than one instance of each property.

If a message matches several sib_classification_info elements, the element that appears first is used. For example, consider the following specifications:

<sib_classification_info bus="MyBus" transaction_class="a" />
<sib_classification_info destination="MyDest" transaction_class="b" />

A message that arrives at destination MyDest from the service integration bus MyBus is assigned the classification "a". A message that arrives at MyDest from another bus is assigned the classification "b".

If a message does not match any sib_classification_info element in an enclosing SibClassification element, the message is assigned the default classification from the SibClassification element.

If a message does not match any sib_classification_info element in any SibClassification element, or if no SibClassification elements are defined, all work receives a built-in default classification with the value "SIBUS". We must perform z/OS Workload Manager actions required to use the TCLASS value "SIBUS", as described in Classifying z/OS workload.


Mediation classification

The SibClassification element with the attribute type="destinationmediation" defines the section of the document that applies to work for mediations assigned to destinations on a service integration bus. An example of this element follows:

    <SibClassification type="destinationmediation"
                        schema_version="1.0"
                        default_transaction_class="b">

Each SibClassification element can contain one or more sib_classification_info elements. An example of a classification entry element follows:

<sib_classification_info
                      transaction_class="e"
                      selector="user.Location=&apos;East&apos;"
                      bus="bigrred"
                      destination="themoon"
                      discriminator="sides/dark" 
                      description="n" 
                      dispatch_timeout="value1"
                      queue_timeout_percent ="value2"
                      request_timeout="value3"
                      stalled_thread_dump_action="traceback"
                      cputimeused_limit="value5"
                      cputimeused_dump_action="traceback" 
                      dpm_interval="value7"
                      dpm_dump_action="traceback"
                      SMF_request_activity_enabled="1"
                      SMF_request_activity_timestamps="1"
                      SMF_request_activity_security="1"
                      SMF_request_activity_CPU_detail="1" 
                      classification_only_trace="1"
                      message_tag="value14"/>

selector

Use the selector attribute of the sib_classification_info element to assign a transaction class to a mediation that has a selector clause in its deployment descriptor. Use the following rules when defining your sib_classification_info elements:

  • The value of the selector attribute is an SQL expression that selects a message according to the values of the message properties. The syntax is that of a message selector in the JMS 1.1 specification, but it can operate on SIMessage messages (more than JMS messages). The syntax can select on system properties (including JMS headers, JMSX properties, and JMS_IBM_properties) and user properties (which must be prefixed by ".user" - for example, for the user property "Location", the selector would specify "user.Location" as shown in the preceding example).

    See topic on working with message properties.

  • The value of the selector attribute must have the correct syntax for an XML document. We must replace the < symbol with the &lt; entity reference and the > symbol with the &gt; entity reference. Similarly, if we use an apostrophe or quotation mark, use the &apos; and &quot; entity references.

bus

The name of the service integration bus on which the target destination is assigned. The classification applies to the bus named by this property, or to any bus if we do not specify this property. The destinations to which the classification applies depend on your use of the destination property.

destination

The name of the target bus destination to which the message has been delivered. This is the name of a queue or topic space. The classification applies to the destination named by this property, or any destination if we do not specify this property. The service integration buses to which the classification applies depend on your use of the bus property.

discriminator

The property applies only when the destination property names a topic space. This discriminator value is then an XPath expression that selects one or more topics within the topic space.

description

Although the description field is optional, we should use it on all the sib_classification_info elements. The description is displayed when you monitor the transaction classes in the MVS console.

RAS attributes

We can specify the following RAS attributes on the sib_classification_info element. Nested elements inherit the RAS attributes of the parent element. Nested elements can override the RAS attributes of a parent element. All the RAS attributes are optional.

dispatch_timeout

Amount of time that a control region waits after dispatching a request to the WLM queue. If the control region does not receive a response in the specified time, it issues a time out. The request is a request that the classification element has classified.

The attribute overrides the control_region_wlm_dispatch_timeout server property.

queue_timeout_percent

The WLM queue timeout as a percentage of the dispatch timeout. The range for the percentage is 0 - 99. The queue timeout is the amount of time a request can remain on the WLM queue undispatched before the request times out. The request is a request that the classification element has classified.

The attribute overrides the control_region_iiop_queue_timeout_percent server property.

request_timeout

Timeout value in seconds applied to outbound requests that originate under dispatched requests. The dispatched request is a request that the classification element has classified.

The attribute overrides the com.ibm.CORBA.RequestTimeout server property.

stalled_thread_dump_action

Dump action that the server takes when requests exceed their dispatch timeout specified on the dispatch_timeout attribute. The request is a request that the classification element has classified. Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_iiop_stalled_thread_dump_action server property.

cputimeused_limit

The CPU timeout in milliseconds. The CPU timeout is the amount of CPU time allowed for the request before the request times out. The request is a request that the classification element has classified.

The attribute overrides the server_region_request_cputimeused_limit server property.

cputimeused_dump_action

Dump action that the server takes when requests exceed their CPU timeout specified on the cputimeused_limit attribute. The request is a request that the classification element has classified.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_cputimeused_dump_action server property.

dpm_interval

Specifies in seconds the Dispatch Progress Monitor (DPM) interval. The DPM monitor triggers the DPM dump action on the interval for requests that the classification element has classified. Specify the DMP dump action on the dpm_dump_action attribute.

The attribute does not override any server properties. We must use the modify command to enable server-wide DPM intervals.

dpm_dump_action

The DPM dump action taken at every DPM interval for requests that the classification element classifies. Specify the DPM interval on the dpm_interval attribute.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_dpm_dump_action server property.

SMF_request_activity_enabled

Specifies whether System Management Facilities (SMF) 120 subtype 9 records are collected for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_enabled server property.

SMF_request_activity_timestamps

Specifies whether to format timestamps in human-readable form on the SMF 120 subtype 9 record for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_timestamps server property.

SMF_request_activity_security

Specifies whether the security data section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_security server property.

SMF_request_activity_CPU_detail

Specifies whether the CPU usage breakdown section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_CPU_detail server property.

classification_only_trace

Specifies whether to generate trace records for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute does not override any server properties. The TRACERECORD modify command overrides the classification_only_trace.

If any classification element has classification_only_trace set to 1, then classification level tracing is in effect for the application server. The only threads that generate trace records are threads that process requests that a classification element classifies. That classification element must define classification_only_trace="1". Any thread not processing such a request has trace collection disabled and does not generate trace records.

If no classification element defines classification_only_trace="1", then classification level tracing is not in effect for the application server. The server does not disable trace collection for any threads. All trace records are written to output as prescribed by the trace specification.

The classification_only_trace attribute does not affect how a trace specification is defined and activated. The attribute only affects which threads write trace records.

message_tag

Specifies a string token that prints with all the trace records, log messages, and system messages generated for requests that the classification element classifies.

The attribute has a maximum of eight characters.

The attribute does not override any server properties.

Each sib_classification_info element can contain one or more of these properties as needed to classify the work for a message. A sib_classification_info element cannot contain more than one instance of each property.

If a message matches several sib_classification_info elements, the element that appears first is used. For example, consider the following specifications:

<sib_classification_info transaction_class="e" destination="themoon" description="n" />
<sib_classification_info transaction_class="f" description="n" />

A message that arrives at the mediated destination themoon is assigned the classification "e". A message that arrives at another mediated destination is assigned the classification "f".

If a message does not match any sib_classification_info element in an enclosing SibClassification element, the message is assigned the default classification from the SibClassification element.

If a message does not match any sib_classification_info element in any SibClassification element, or if no SibClassification elements are defined, all work receives a built-in default classification with the value "SIBUS". We must perform z/OS Workload Manager actions required to use the TCLASS value "SIBUS", as described in Classifying z/OS workload.


IBM MQ messaging provider classification

The WMQRAClassification element defines the section of the document that applies to work for message-driven beans (MDBs) deployed against IBM MQ messaging provider activation specifications. An example of this element follows:

    <WMQRAClassification default_transaction_class="TC99" schema_version="1.0">

A WMQRAClassification element can contain one or more wmqra_classification_info elements. Two examples of wmqra_classification_info elements follow:

<wmqra_classification_info transaction_class="TC_4"
                      destination="topic://a/b/*"
                      description="Any topics starting with a/b/ map to TC_4"/>

<wmqra_classification_info transaction_class="TC_3"
                      selector="JMSPriority&gt;3 AND JMSPriority&lt;8"
                      destination="queue://QMGR1/Q1"
                      queue_manager="QMGR1" 
                      description="medium priorities with a queue manager name of QMGR1 and                                   a queue name of Q1 map to TC_3"
                      dispatch_timeout="value1"
                      queue_timeout_percent ="value2"
                      request_timeout="value3"
                      stalled_thread_dump_action="traceback"
                      cputimeused_limit="value5"
                      cputimeused_dump_action="traceback" 
                      dpm_interval="value7"
                      dpm_dump_action="traceback"
                      SMF_request_activity_enabled="1"
                      SMF_request_activity_timestamps="1"
                      SMF_request_activity_security="1"
                      SMF_request_activity_CPU_detail="1" 
                      classification_only_trace="1"
                      message_tag="value14"/>

selector

Use the selector attribute of the wmqra_classification_info element to assign a transaction class to a message based on its properties. This attribute can also be used to assign a transaction class to a message-driven bean that has a selector clause in its deployment descriptor:

  • The value of the selector attribute is an SQL expression that selects a message according to the values of the message properties. The syntax is that of a message selector in the JMS 1.1 specification.

  • The value of the selector attribute must have the correct syntax for an XML document. We must replace the < symbol with the &lt; entity reference and the > symbol with the &gt; entity reference. Similarly, if we use an apostrophe or quotation mark, use the &apos; and &quot; entity references.

destination

A URI representing the IBM MQ destination to which the message has been delivered. The classification applies to the destination named by this property, or to any destination if we do not specify this property. If the URI represents a queue type destination it can optionally include a queue manager name, but that name is ignored and is not be used for classification. If the URI represents a topic type destination, it can make use of wildcards. For more information on wildcard support with IBM MQ see the IBM MQ information center.

queue_manager

The name of the IBM MQ queue manager to which the message has been delivered. The classification applies to the queue manager named by this property, or to any queue manager if we do not specify this property. The queue manager name must conform to IBM MQ naming conventions.

Note that this field must not be set to the name of an IBM MQ queue sharing group. Instead, we must either create a wmqra_classification_info element for every queue manager in the queue sharing group, or base the classification on something else such as the destination attribute.

description

Although the description field is optional, we must use it on all the wmqra_classification_info elements.

RAS attributes:

We can specify the following RAS attributes on the wmqra_classification_info element. Nested elements inherit the RAS attributes of the parent element. Nested elements can override the RAS attributes of a parent element. All the RAS attributes are optional.

dispatch_timeout

Amount of time that a control region waits after dispatching a request to the WLM queue. If the control region does not receive a response in the specified time, it issues a time out. The request is a request that the classification element has classified.

The attribute overrides the control_region_wlm_dispatch_timeout server property.

queue_timeout_percent

The WLM queue timeout as a percentage of the dispatch timeout. The range for the percentage is 0 - 99. The queue timeout is the amount of time a request can remain on the WLM queue undispatched before the request times out. The request is a request that the classification element has classified.

The attribute overrides the control_region_iiop_queue_timeout_percent server property.

request_timeout

Timeout value in seconds applied to outbound requests that originate under dispatched requests. The dispatched request is a request that the classification element has classified.

The attribute overrides the com.ibm.CORBA.RequestTimeout server property.

stalled_thread_dump_action

Dump action that the server takes when requests exceed their dispatch timeout specified on the dispatch_timeout attribute. The request is a request that the classification element has classified. Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_iiop_stalled_thread_dump_action server property.

cputimeused_limit

The CPU timeout in milliseconds. The CPU timeout is the amount of CPU time allowed for the request before the request times out. The request is a request that the classification element has classified.

The attribute overrides the server_region_request_cputimeused_limit server property.

cputimeused_dump_action

Dump action that the server takes when requests exceed their CPU timeout specified on the cputimeused_limit attribute. The request is a request that the classification element has classified.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_cputimeused_dump_action server property.

dpm_interval

Specifies in seconds the Dispatch Progress Monitor (DPM) interval. The DPM monitor triggers the DPM dump action on the interval for requests that the classification element has classified. Specify the DMP dump action on the dpm_dump_action attribute.

The attribute does not override any server properties. We must use the modify command to enable server-wide DPM intervals.

dpm_dump_action

The DPM dump action taken at every DPM interval for requests that the classification element classifies. Specify the DPM interval on the dpm_interval attribute.

Valid values are svcdump, javacore, heapdump, traceback, javatdump, and none.

The attribute overrides the server_region_dpm_dump_action server property.

SMF_request_activity_enabled

Specifies whether System Management Facilities (SMF) 120 subtype 9 records are collected for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_enabled server property.

SMF_request_activity_timestamps

Specifies whether to format timestamps in human-readable form on the SMF 120 subtype 9 record for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_timestamps server property.

SMF_request_activity_security

Specifies whether the security data section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_security server property.

SMF_request_activity_CPU_detail

Specifies whether the CPU usage breakdown section of the SMF 120 subtype 9 record is collected for requests. The requests are requests that the classification element has classified.

Valid values are 0 (no) and 1 (yes).

The attribute overrides the server_SMF_request_activity_CPU_detail server property.

classification_only_trace

Specifies whether to generate trace records for requests that the classification element classifies.

Valid values are 0 (no) and 1 (yes).

The attribute does not override any server properties. The TRACERECORD modify command overrides the classification_only_trace.

If any classification element has classification_only_trace set to 1, then classification level tracing is in effect for the application server. The only threads that generate trace records are threads that process requests that a classification element classifies. That classification element must define classification_only_trace="1". Any thread not processing such a request has trace collection disabled and does not generate trace records.

If no classification element defines classification_only_trace="1", then classification level tracing is not in effect for the application server. The server does not disable trace collection for any threads. All trace records are written to output as prescribed by the trace specification.

The classification_only_trace attribute does not affect how a trace specification is defined and activated. The attribute only affects which threads write trace records.

message_tag

Specifies a string token that prints with all the trace records, log messages, and system messages generated for requests that the classification element classifies.

The attribute has a maximum of eight characters.

The attribute does not override any server properties.

Each wmqra_classification_info element can contain one or more of these properties as needed to classify the work for a message. A wmqra_classification_info element cannot contain more than one instance of each property.

If a message matches several wmqra_classification_info elements, the element that appears first is used. For example, consider the following specifications:

<wmqra_classification_info queue_manager="QMGR1" transaction_class="TC_1" />
<wmqra_classification_info destination="queue:///Q1" transaction_class="TC_2" />

A message that arrives at destination Q1 on queue manager QMGR1 is assigned the classification "TC_1". A message that arrives at Q1 from another queue manager is assigned the classification "TC_2".

If a message does not match any wmqra_classification_info element in an enclosing WMQRAClassification element, the message is assigned the default classification from the WMQRAClassification element. If there are multiple WMQRAClassification elements, the default transaction class from the first WMQRAClassification element is used.

If no WMQRAClassification elements are defined, all work receives the default classification "WMQRA". We must perform z/OS Workload Manager actions required to use the TCLASS value "WMQRA", as described in Classifying z/OS workload.

Sample z/OS workload classification document without RAS attributes:

The sample z/OS workload classification document contains attributes for classifying inbound HTTP, IIOP, Session Initiation Protocol (SIP), and message-driven bean (MDB) work requests for the z/OS workload manager. This sample does not contain RAS attributes.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Classification SYSTEM "Classification.dtd" >
<Classification schema_version="1.0">
<!--
        Internal Classification Rules
-->
   <InboundClassification 	type="internal" 
                           schema_version="1.0" 
                           default_transaction_class="value1"/>

<!--
        IIOP Classification Rules
-->
   <InboundClassification type="iiop" 
                          schema_version="1.0"
                          default_transaction_class="A0">
     <iiop_classification_info transaction_class="A1"
                               application_name="IIOPStatelessSampleApp"
                               module_name="StatelessSample.jar"
                               component_name="Sample20"
                               description="Sample20 EJB Classification">
     <iiop_classification_info transaction_class=""
                               method_name="echo"
                               description="No TCLASS for echo()" />
     <iiop_classification_info 	transaction_class="A1B"
                               method_name="ping"
                               description="Ping method" />
     </iiop_classification_info>
     <iiop_classification_info application_name="*"
                               module_name="*"
                               component_name="*"
                               transaction_class="A2"
                               description="TCLASS the rest to A2">
     <iiop_classification_info transaction_class="A2A"
                               method_name="resetFilter"
                               description="Sp1 case resetFilter()" />
     </iiop_classification_info>
  </InboundClassification>

<!--
        HTTP Classification Rules
-->
   <InboundClassification type="http"
                          schema_version="1.0"
                          default_transaction_class="M">
     <http_classification_info transaction_class="N"
                               host="myhost.yourcompany.com"
                               description="Virtual Host myhost">
     <http_classification_info	transaction_class="O"
                               port="9080"
                               description="Def myhost HTTP reqs">
     <http_classification_info transaction_class="Q"
                               uri="/gcs/admin"
                               description = "Gcs" />
     <http_classification_info 	transaction_class="S"
                               uri="/gcs/admin/1*"
                               description="GCS login" />
     <http_classification_info transaction_class="P"
                               port="9081"
	                             description=" Def myhost HTTPS reqs "/>
     <http_classification_info transaction_class=""
                               uri="/gcss/mgr/*"
                               description="GCSS Mgr" />
     </http_classification_info>
     </http_classification_info>
   </InboundClassification>

<!--
        SIP Classification Rules
-->
   <InboundClassification type="sip" 
                          schema_version="1.0" 
                          default_transaction_class="value1"/> 

<!-- 
        MDB Classification Rules
-->
   <InboundClassification type="mdb"	
                          schema_version="1.0"
                          default_transaction_class="qrs">
     <endpoint type="messagelistenerport"
               name="IVPListenerPort"
               defaultclassification="MDBX"
               description="ABC">
        <classificationentry  selector="Location=&apos;East&apos;"
                              classification="MDB1"
                              description="DEF"/>
        <classificationentry  selector="Location&lt;&gt;&apos;East&apos;"
                              classification="MDB2"
                              description="XYZ" />
     </endpoint>
     <endpoint  type="messagelistenerport"
                name="SimpleMDBListenerPort"
                defaultclassification="MDBX"
                description="GHI" />

   </InboundClassification>

     <SibClassification type="jmsra" schema_version="1.0"
          default_transaction_class="a">
        <sib_classification_info transaction_class="b"
            selector="user.Location=&apos;East&apos;" bus="magic"
            destination="nowhere" description="n" />
        <sib_classification_info transaction_class="c"
            selector="user.Location=&apos;West&apos;" bus="omni"
description="n" />
    </SibClassification>
    <SibClassification type="destinationmediation" schema_version="1.0"
           default_transaction_class="b">
        <sib_classification_info transaction_class="e"
            selector="user.Location=&apos;East&apos;" destination="themoon"
            discriminator="sides/dark" description="n" />
        <sib_classification_info transaction_class="f"
            selector="user.Location=&apos;West&apos;" description="n"
/>
    </SibClassification>

    <WMQRAClassification default_transaction_class="TC99" schema_version="1.0">
       <wmqra_classification_info transaction_class="TC_1"
                               queue_manager="GOLD"
                               description="gold queue manager maps
to TC_1"/>
       <wmqra_classification_info transaction_class="TC_2"
                               selector="JMSPriority&gt;7"
                               description="high priorities maps to TC_2"/>
       <wmqra_classification_info transaction_class="TC_3"
                               selector="JMSPriority&gt;3 AND
JMSPriority&lt;8"
                               description="medium priorities maps
to TC_3"/>
    </WMQRAClassification>

<!--
        OLA Classification Rules
-->
   <InboundClassification type="ola" 
                          schema_version="1.0"
                          default_transaction_class="A0">
     <ola_classification_info transaction_class="FAST1"
                              service_name="ejb/InteractiveTransactionBean"
                              description="EJB classification for quick turnaround"/>
     <ola_classification_info transaction_class="SLOW1"
                              service_name="ejb/BackgroundBean"
                              description="EJB classification for low priority" />
     <ola_classification_info propagate_transaction_name="true"
                              service_name="ejb/CalledFromCICSBean"
                              description="use same service class as client" />
  </InboundClassification>

<!--
   Workload Classification Document for P5SR01x servers
   Change History
   _______________________________________________________
   Activity	                    Date                 Author
   Created                     01-28-2005           IPL

-->

</Classification>

Sample z/OS workload classification document containing RAS attributes:

The sample z/OS workload classification document contains attributes for classifying inbound HTTP, IIOP, and MDB work requests for the z/OS workload manager. This sample contains RAS attributes.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Classification SYSTEM "Classification.dtd" >
<Classification schema_version="1.0">

<!-- IIOP Classification Rules -->
<InboundClassification 
  type="iiop" 
  schema_version="1.0"
  default_transaction_class="TC">

  <!-- 
       IIOP classification info for app "EJBApp1".  The classification element defines a      
       transaction_class of "TC1".  This value overrides the default_transaction_class of     
       the InboundClassification element ("TC").  The classification element also             
       specifies a message_tag, which is applied to all requests that are classified     
       underneath this classification element.                                             -->
  <iiop_classification_info 
    application_name="EJBApp1" 
    transaction_class="TC1" 
    message_tag="EJBApp1">
  
    <!-- 
         EJBApp1 contains a jar module named "MyEJB.jar" with an EJB named "MyEJBClass".      
         The transaction_class is not defined for this element; thus the element    
         inherits the transaction_class from its parent node, "TC1".  This element also       
         inherits the message_tag attribute from its parent node, "EJBApp1".  In general,     
         a classification element inherits all the RAS attributes from all its ancestor       
         nodes, with nearer ancestor nodes (for example, direct parents) taking precedence over       
         ancestor nodes further up the chain (for example, grandparents).          -->
    <iiop_classification_info  
      module_name="MyEJB.jar" 
      component_name="MyEJBClass">
    
      <!-- 
           MyEJBClass contains methods named "helloWorld" and "goodbyeWorld".  helloWorld     
           is assigned a dispatch_timeout of 30 seconds and a queue_timeout_percent of 90,    
           meaning that the queue timeout value is 90% of the dispatch_timeout value.  The         
           classification element also specifies SMF_request_activity_enabled=1, meaning      
           SMF 120 subtype 9 records are collected for all requests targeted against      
           the helloWorld method.  Also note that this classification element does not        
           define a transaction_class; therefore it inherits the transaction_class from       
           the nearest ancestor element that defines one.  In this case, the nearest           
           ancestor element that defines a transaction_class is the grandparent element,      
           "TC1".  Note: if no ancestor elements define a transaction_class, then the         
           classification element inherits the default_transaction_class of the               
           InboundClassification element.  The default_transaction_class on the               
           InboundClassification is required.                                                 
           This classification element also inherits the message_tag attribute from its       
           grandparent element, "EJBApp1".                                                 -->
      <iiop_classification_info  
        method_name="helloWorld" 
        dispatch_timeout="30" 
        queue_timeout_percent="90"
        SMF_request_activity_enabled="1" 
      /> 

      <!-- 
           The goodbyeWorld method specifies a dispatch_timeout of 60 seconds.  The           
           classification element also defines a transaction_class, "TC1gbye", which          
           overrides the transaction_class defined by its ancestry.  This element inherits    
           the message_tag of its ancestry, "EJBApp1".                                     -->
      <iiop_classification_info  
        method_name="goodbyeWorld" 
        transaction_class="TC1gbye"
        dispatch_timeout="60" 
      /> 

    </iiop_classification_info>
  </iiop_classification_info>

  <!-- 
       IIOP classification info for app "EJBApp2".  The classification element defines a      
       dispatch_timeout of 15 seconds and a message_tag of "EJBApp2".  The                    
       transaction_class is inherited from the default_transaction_class on the               
       InboundClassification, "TC".   All requests that are classified under this             
       classification element have a 15 second dispatch timeout, and all trace           
       records and log messages generated by those requests are tagged with the           
       message_tag attribute value,  "EJBApp2".                                            -->
  <iiop_classification_info 
    application_name="EJBApp2" 
    dispatch_timeout="15"
    message_tag="EJBApp2">

    <!-- 
         EJBApp2 contains two jar modules, "MyEJB2a.jar" and "MyEJB2b.jar".  The following    
         two classification elements define a transaction_class for each jar module.  No      
         other attributes are defined.  Both elements inherit the attributes of their         
         ancestor nodes (dispatch_timeout="15" and message_tag="EJBApp2").                 -->
    <iiop_classification_info  
      module_name="MyEJB2a.jar" 
      transaction_class="TC2a" 
    />

    <iiop_classification_info  
      module_name="MyEJB2b.jar" 
      transaction_class="TC2b" 
    />

  </iiop_classification_info>
    

  <!-- 
       The following classification element defines attributes for a specific module,         
       component, and method of the application "EJBApp3".  The module is 
       "MyEJB3.jar", component     
       is "MyEJB3Class", and method is "method3".   The transaction_class, dispatch_timeout   
       queue_timeout_percent, SMF_request_activity_enabled, and                              
       SMF_request_activity_timestamps are all defined for this specific method in the        
       EJBApp3 application.  No other method on no other EJB within this application are
       assigned these attributes.                                           -->
  <iiop_classification_info  
    application_name="EJBApp3" 
    module_name="MyEJB3.jar" 
    component_name="MyEJB3Class"
    method_name="method3" 
    transaction_class="TC3"
    dispatch_timeout="40" 
    queue_timeout_percent="90"
    SMF_request_activity_enabled="1" 
    SMF_request_activity_timestamps="1"
  /> 

</InboundClassification>


<!-- Internal Classification Rules -->
<InboundClassification 
  type="internal" 
  schema_version="1.0"
  default_transaction_class="internal" />

<!-- HTTP Classification Rules -->
<InboundClassification
  type="http"
  schema_version="1.0"
  default_transaction_class="HTC">

  <!-- 
       The following classification element defines a transaction_class, "HTC8080", for       
       all HTTP requests received on host "my.server.com" and port "8080".  The               
       classification element also defines RAS attributes dispatch_timeout,                   
       queue_timeout_percent, timeout_recovery, and stalled_thread_dump_action.  All           
       child elements underneath this element inherit these RAS attributes.           --> 
  <http_classification_info 
    host="my.server.com"
    port="8080"
    transaction_class="HTC8080" 
    dispatch_timeout="100"
    queue_timeout_percent="98"
    timeout_recovery="session"
    stalled_thread_dump_action="javacore">

    <!-- 
         The following classification element applies to all HTTP requests with a URI that    
         begins with "/PlantsByWebSphere/".  Every HTTP request received on host              
         my.server.com and port 8080 with a URI that begins with /PlantsByWebSphere       
         fall under this classification (note: host and port inherited from the parent        
         element).  The classification element also defines the message_tag attribute,        
         "plantsbw", which are added to every trace record and log message generated      
         by any /PlantsByWebSphere/* request.                                              -->
    <http_classification_info	
      uri="/PlantsByWebSphere/*"
      message_tag="plantsbw">
    
      <!-- 
           The following classification element applies to all HTTP requests with a URI       
           that matches "/PlantsByWebSphere/*.jpg (for example, /PlantsByWebSphere/mypic.jpg,         
           /PlantsByWebSphere/some/path/anotherpic.jpg).  Again, this filter applies only     
           to requests received on host my.server.com and port 8080 (as designated by         
           an ancestor node).   The classification element defines a transaction_class,       
           "HTCPjpg" and a dispatch_timeout, "10".  It inherits the remaining attributes      
           from its ancestor nodes.                                                        -->
      <http_classification_info	
        uri="*.jpg"
        transaction_class="HTCPjpg"
        dispatch_timeout="10"
      />

      <!-- 
           The following classification element applies to all HTTP requests with a URI       
           that matches "/PlantsByWebSphere/*.html (for example, /PlantsByWebSphere/index.html,       
           /PlantsByWebSphere/some/path/afile.html).                                       -->
      <http_classification_info	
        uri="*.html" 
        transaction_class="HTChtml" 
      />
    </http_classification_info>
  </http_classification_info>

  <!-- 
       The following classification element defines a transaction_class, "HTC80", for         
       all HTTP requests received on port "80".  The host attribute is not          
       defined;  thus, this element matches any host.                                   -->
  <http_classification_info 
    port="80"
    transaction_class="HTC80" 
    dispatch_timeout="60"
    timeout_recovery="servant"
    message_tag="vanilla"
  />

</InboundClassification>

<!-- MDB Classification Rules -->
<InboundClassification
  type="mdb"
  schema_version="1.0"
  default_transaction_class="mdbdflt">
 
  <!-- Endpoint for LP 1414, skLP1, for MDB Plan 'A' Test  -->
  <endpoint
    type="messagelistenerport"
    name="skLP1"
    defaultclassification="lp1dft"
    description="Endpoint for LP 1414, skLP1, for MDB Plan 'A' Test">

    <classificationentry
      selector="JMSCorrelationID='TestCase1'"
      classification="lp1s1"
      description="New MDB Sample, TestCase1"
      cputimeused_limit="200101"
      request_timeout="20"
      dispatch_timeout="30"
      dpm_interval="0"
      queue_timeout_percent="20"
      stalled_thread_dump_action="traceback"
      />
  </endpoint>

</InboundClassification>


<!-- SIB Classification Rules -->
<SibClassification type="jmsra" schema_version="1.0" default_transaction_class="Dclass">
       <sib_classification_info transaction_class="Tclass"
                                bus="testbus"
                                destination="themoon"
                                description="test1"
                                dispatch_timeout="30"
                                queue_timeout_percent="20"
                                request_timeout="20"
                                stalled_thread_dump_action="traceback"
                                cputimeused_limit="200101"
                                cputimeused_dump_action="traceback"
                                dpm_interval="0"
                                dpm_dump_action="traceback"
                                classification_only_trace="1"
                                message_tag="sibreqst"
        />
   </SibClassification>

</Classification>

DTD:

The following DTD defines the elements and attributes used in the preceding sample workload classification documents.

<?xml version='1.0' encoding="UTF-8"?>
<!ELEMENT Classification (InboundClassification|SibClassification|WMQRAClassification)+>
<!ATTLIST Classification schema_version CDATA #REQUIRED>
<!ELEMENT InboundClassification ((iiop_classification_info*|http_classification_info*|endpoint*|ola_classification_info*))>
<!ATTLIST InboundClassification type (iiop|mdb|http|internal|sip|ola) #REQUIRED>
<!ATTLIST InboundClassification default_transaction_class CDATA #REQUIRED>
<!ATTLIST InboundClassification schema_version CDATA #REQUIRED>
<!ATTLIST InboundClassification default_iiop_application_name CDATA #IMPLIED>
<!ATTLIST InboundClassification default_iiop_module_name CDATA #IMPLIED>
<!ATTLIST InboundClassification default_iiop_component_name CDATA #IMPLIED>
<!ELEMENT iiop_classification_info (iiop_classification_info*)>
<!-- inputs -->
<!ATTLIST iiop_classification_info activity_workload_classification CDATA #IMPLIED>
<!ATTLIST iiop_classification_info application_name CDATA #IMPLIED>
<!ATTLIST iiop_classification_info component_name CDATA #IMPLIED>
<!ATTLIST iiop_classification_info description CDATA #IMPLIED>
<!ATTLIST iiop_classification_info method_name CDATA #IMPLIED>
<!ATTLIST iiop_classification_info module_name CDATA #IMPLIED>
<!-- outputs -->
<!ATTLIST iiop_classification_info transaction_class CDATA #IMPLIED>
<!ATTLIST iiop_classification_info dispatch_timeout CDATA #IMPLIED>
<!-- control_region_wlm_dispatch_timeout -->
<!ATTLIST iiop_classification_info queue_timeout_percent CDATA #IMPLIED>
<!-- control_region_iiop_queue_timeout_percent -->
<!ATTLIST iiop_classification_info request_timeout CDATA #IMPLIED>
<!-- com.ibm.CORBA.RequestTimeout -->
<!ATTLIST iiop_classification_info stalled_thread_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
<!-- server_region_iiop_stalled_thread_dump_action -->
<!ATTLIST iiop_classification_info cputimeused_limit CDATA #IMPLIED>
      <!-- server_region_request_cputimeused_limit -->
<!ATTLIST iiop_classification_info cputimeused_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
  <!-- server_region_cputimeused_dump_action -->
<!ATTLIST iiop_classification_info dpm_interval CDATA #IMPLIED>
           <!-- MODIFY [JOBNAME],DPM,IIOP= -->
<!ATTLIST iiop_classification_info dpm_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
  <!-- server_region_dpm_dump_action -->
<!ATTLIST iiop_classification_info SMF_request_activity_enabled (0|1) #IMPLIED>
     <!-- server_SMF_request_activity_enabled -->
<!ATTLIST iiop_classification_info SMF_request_activity_timestamps (0|1) #IMPLIED>
  <!-- server_SMF_request_activity_timestamps -->
<!ATTLIST iiop_classification_info SMF_request_activity_security (0|1) #IMPLIED>
    <!-- server_SMF_request_activity_security -->
<!ATTLIST iiop_classification_info SMF_request_activity_CPU_detail (0|1) #IMPLIED>
  <!-- server_SMF_request_activity_CPU_detail -->
<!ATTLIST iiop_classification_info classification_only_trace (0|1) #IMPLIED>
<!ATTLIST iiop_classification_info message_tag CDATA #IMPLIED>

<!ELEMENT endpoint (classificationentry*)>
<!ATTLIST endpoint defaultclassification CDATA #REQUIRED>
<!ATTLIST endpoint name CDATA #REQUIRED>
<!ATTLIST endpoint type (messagelistenerport) #REQUIRED>
<!ATTLIST endpoint description CDATA #IMPLIED>
<!ELEMENT classificationentry EMPTY>
<!-- inputs -->
<!ATTLIST classificationentry selector CDATA #REQUIRED>
<!ATTLIST classificationentry description CDATA #IMPLIED>
<!-- outputs -->
<!ATTLIST classificationentry classification CDATA #REQUIRED>
<!ATTLIST classificationentry dispatch_timeout CDATA #IMPLIED>
       <!-- control_region_mdb_request_timeout -->
<!ATTLIST classificationentry queue_timeout_percent CDATA #IMPLIED>
  <!-- control_region_mdb_queue_timeout_percent -->
<!ATTLIST classificationentry request_timeout CDATA #IMPLIED>
        <!-- com.ibm.CORBA.RequestTimeout -->
<!ATTLIST classificationentry stalled_thread_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
 <!-- server_region_mdb_stalled_thread_dump_action -->
<!ATTLIST classificationentry cputimeused_limit CDATA #IMPLIED>
      <!-- server_region_request_cputimeused_limit -->
<!ATTLIST classificationentry cputimeused_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
  <!-- server_region_cputimeused_dump_action -->
<!ATTLIST classificationentry dpm_interval CDATA #IMPLIED>
           <!-- MODIFY [JOBNAME],DPM,IIOP= -->
<!ATTLIST classificationentry dpm_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
  <!-- server_region_dpm_dump_action -->
<!ATTLIST classificationentry SMF_request_activity_enabled (0|1) #IMPLIED>
     <!-- server_SMF_request_activity_enabled -->
<!ATTLIST classificationentry SMF_request_activity_timestamps (0|1) #IMPLIED>
  <!-- server_SMF_request_activity_timestamps -->
<!ATTLIST classificationentry SMF_request_activity_security (0|1) #IMPLIED>
    <!-- server_SMF_request_activity_security -->
<!ATTLIST classificationentry SMF_request_activity_CPU_detail (0|1) #IMPLIED>
  <!-- server_SMF_request_activity_CPU_detail -->
<!ATTLIST classificationentry classification_only_trace (0|1) #IMPLIED>
<!ATTLIST classificationentry message_tag CDATA #IMPLIED>
<!ELEMENT http_classification_info (http_classification_info*)>
<!-- inputs -->
<!ATTLIST http_classification_info host CDATA #IMPLIED>
<!ATTLIST http_classification_info port CDATA #IMPLIED>
<!ATTLIST http_classification_info uri CDATA #IMPLIED>
<!ATTLIST http_classification_info description CDATA #IMPLIED>
<!ATTLIST http_classification_info transaction_class CDATA #IMPLIED>
<!-- outputs -->
<!ATTLIST http_classification_info dispatch_timeout CDATA #IMPLIED>
       <!-- protocol_http_timeout_output -->
<!ATTLIST http_classification_info queue_timeout_percent CDATA #IMPLIED>
  <!-- control_region_http_queue_timeout_percent -->
<!ATTLIST http_classification_info request_timeout CDATA #IMPLIED>
        <!-- com.ibm.CORBA.RequestTimeout -->
<!ATTLIST http_classification_info stalled_thread_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
  <!-- server_region_http_stalled_thread_dump_action -->
<!ATTLIST http_classification_info cputimeused_limit CDATA #IMPLIED>
      <!-- server_region_request_cputimeused_limit -->
<!ATTLIST http_classification_info cputimeused_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
  <!-- server_region_cputimeused_dump_action -->
<!ATTLIST http_classification_info dpm_interval CDATA #IMPLIED>
           <!-- MODIFY [JOBNAME],DPM,HTTP= -->
<!ATTLIST http_classification_info dpm_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
  <!-- server_region_dpm_dump_action -->
<!ATTLIST http_classification_info SMF_request_activity_enabled (0|1) #IMPLIED>
     <!-- server_SMF_request_activity_enabled -->
<!ATTLIST http_classification_info SMF_request_activity_timestamps (0|1) #IMPLIED>
  <!-- server_SMF_request_activity_timestamps -->
<!ATTLIST http_classification_info SMF_request_activity_security (0|1) #IMPLIED>
    <!-- server_SMF_request_activity_security -->
<!ATTLIST http_classification_info SMF_request_activity_CPU_detail (0|1) #IMPLIED>
  <!-- server_SMF_request_activity_CPU_detail -->
<!ATTLIST http_classification_info classification_only_trace (0|1) #IMPLIED>
<!ATTLIST http_classification_info message_tag CDATA #IMPLIED>
<!ATTLIST http_classification_info timeout_recovery (servant|session) #IMPLIED>
     <!-- protocol_http_timeout_output_recovery -->

<!ELEMENT ola_classification_info (ola_classification_info*)>
<!ATTLIST ola_classification_info transaction_class CDATA #IMPLIED>
<!ATTLIST ola_classification_info propagate_transaction_name (true|false) #IMPLIED>
<!ATTLIST ola_classification_info service_name CDATA #IMPLIED>
<!ATTLIST ola_classification_info description CDATA #IMPLIED>
<!ATTLIST ola_classification_info dispatch_timeout CDATA #IMPLIED>
       <!-- control_region_wlm_dispatch_timeout -->
<!ATTLIST ola_classification_info queue_timeout_percent CDATA #IMPLIED>
  <!-- control_region_iiop_queue_timeout_percent -->
<!ATTLIST ola_classification_info request_timeout CDATA #IMPLIED>
        <!-- com.ibm.CORBA.RequestTimeout -->
<!ATTLIST ola_classification_info stalled_thread_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
 <!-- server_region_iiop_stalled_thread_dump_action -->
<!ATTLIST ola_classification_info cputimeused_limit CDATA #IMPLIED>
      <!-- server_region_request_cputimeused_limit -->
<!ATTLIST ola_classification_info cputimeused_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
  <!-- server_region_cputimeused_dump_action -->
<!ATTLIST ola_classification_info dpm_interval CDATA #IMPLIED>
           <!-- MODIFY [JOBNAME],DPM,IIOP= -->
<!ATTLIST ola_classification_info dpm_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
  <!-- server_region_dpm_dump_action -->
<!ATTLIST ola_classification_info SMF_request_activity_enabled (0|1) #IMPLIED>
     <!-- server_SMF_request_activity_enabled -->
<!ATTLIST ola_classification_info SMF_request_activity_timestamps (0|1) #IMPLIED>
  <!-- server_SMF_request_activity_timestamps -->
<!ATTLIST ola_classification_info SMF_request_activity_security (0|1) #IMPLIED>
    <!-- server_SMF_request_activity_security -->
<!ATTLIST ola_classification_info SMF_request_activity_CPU_detail (0|1) #IMPLIED>
  <!-- server_SMF_request_activity_CPU_detail -->
<!ATTLIST ola_classification_info classification_only_trace (0|1) #IMPLIED>
<!ATTLIST ola_classification_info message_tag CDATA #IMPLIED>

<!ELEMENT SibClassification (sib_classification_info+)>
<!ATTLIST SibClassification type (jmsra|destinationmediation) #REQUIRED>
<!ATTLIST SibClassification default_transaction_class CDATA #REQUIRED>
<!ATTLIST SibClassification schema_version CDATA #REQUIRED>
<!ELEMENT sib_classification_info EMPTY>
<!-- inputs -->
<!ATTLIST sib_classification_info selector CDATA #IMPLIED>
<!ATTLIST sib_classification_info bus CDATA #IMPLIED>
<!ATTLIST sib_classification_info destination CDATA #IMPLIED>
<!ATTLIST sib_classification_info discriminator CDATA #IMPLIED>
<!ATTLIST sib_classification_info description CDATA #IMPLIED>
<!-- outputs -->
<!ATTLIST sib_classification_info transaction_class CDATA #REQUIRED>
<!ATTLIST sib_classification_info dispatch_timeout CDATA #IMPLIED>
       <!-- control_region_wlm_dispatch_timeout -->
<!ATTLIST sib_classification_info queue_timeout_percent CDATA #IMPLIED>
  <!-- control_region_iiop_queue_timeout_percent -->
<!ATTLIST sib_classification_info request_timeout CDATA #IMPLIED>
        <!-- com.ibm.CORBA.RequestTimeout -->
<!ATTLIST sib_classification_info stalled_thread_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
 <!-- server_region_iiop_stalled_thread_dump_action -->
<!ATTLIST sib_classification_info cputimeused_limit CDATA #IMPLIED>
      <!-- server_region_request_cputimeused_limit -->
<!ATTLIST sib_classification_info cputimeused_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
  <!-- server_region_cputimeused_dump_action -->
<!ATTLIST sib_classification_info dpm_interval CDATA #IMPLIED>
           <!-- MODIFY [JOBNAME],DPM,IIOP= -->
<!ATTLIST sib_classification_info dpm_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
  <!-- server_region_dpm_dump_action -->
<!ATTLIST sib_classification_info SMF_request_activity_enabled (0|1) #IMPLIED>
     <!-- server_SMF_request_activity_enabled -->
<!ATTLIST sib_classification_info SMF_request_activity_timestamps (0|1) #IMPLIED>
  <!-- server_SMF_request_activity_timestamps -->
<!ATTLIST sib_classification_info SMF_request_activity_security (0|1) #IMPLIED>
    <!-- server_SMF_request_activity_security -->
<!ATTLIST sib_classification_info SMF_request_activity_CPU_detail (0|1) #IMPLIED>
  <!-- server_SMF_request_activity_CPU_detail -->
<!ATTLIST sib_classification_info classification_only_trace (0|1) #IMPLIED>
<!ATTLIST sib_classification_info message_tag CDATA #IMPLIED>

<!ELEMENT WMQRAClassification (wmqra_classification_info+)>
<!ATTLIST WMQRAClassification default_transaction_class CDATA #REQUIRED>
<!ATTLIST WMQRAClassification schema_version CDATA #REQUIRED>
<!ELEMENT wmqra_classification_info EMPTY>
<!-- inputs -->
<!ATTLIST wmqra_classification_info selector CDATA #IMPLIED>
<!ATTLIST wmqra_classification_info queue_manager CDATA #IMPLIED>
<!ATTLIST wmqra_classification_info destination CDATA #IMPLIED>
<!ATTLIST wmqra_classification_info description CDATA #IMPLIED>
<!-- outputs -->
<!ATTLIST wmqra_classification_info transaction_class CDATA #REQUIRED>
<!ATTLIST wmqra_classification_info dispatch_timeout CDATA #IMPLIED>
       <!-- control_region_wlm_dispatch_timeout -->
<!ATTLIST wmqra_classification_info queue_timeout_percent CDATA #IMPLIED>
  <!-- control_region_iiop_queue_timeout_percent -->
<!ATTLIST wmqra_classification_info request_timeout CDATA #IMPLIED>
        <!-- com.ibm.CORBA.RequestTimeout -->
<!ATTLIST wmqra_classification_info stalled_thread_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
 <!-- server_region_iiop_stalled_thread_dump_action -->
<!ATTLIST wmqra_classification_info cputimeused_limit CDATA #IMPLIED>
      <!-- server_region_request_cputimeused_limit -->
<!ATTLIST wmqra_classification_info cputimeused_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
  <!-- server_region_cputimeused_dump_action -->
<!ATTLIST wmqra_classification_info dpm_interval CDATA #IMPLIED>
           <!-- MODIFY [JOBNAME],DPM,IIOP= -->
<!ATTLIST wmqra_classification_info dpm_dump_action (none|svcdump|javacore|heapdump|traceback|javatdump) #IMPLIED>
  <!-- server_region_dpm_dump_action -->
<!ATTLIST wmqra_classification_info SMF_request_activity_enabled (0|1) #IMPLIED>
     <!-- server_SMF_request_activity_enabled -->
<!ATTLIST wmqra_classification_info SMF_request_activity_timestamps (0|1) #IMPLIED>
  <!-- server_SMF_request_activity_timestamps -->
<!ATTLIST wmqra_classification_info SMF_request_activity_security (0|1) #IMPLIED>
    <!-- server_SMF_request_activity_security -->
<!ATTLIST wmqra_classification_info SMF_request_activity_CPU_detail (0|1) #IMPLIED>
  <!-- server_SMF_request_activity_CPU_detail -->
<!ATTLIST wmqra_classification_info classification_only_trace (0|1) #IMPLIED>
<!ATTLIST wmqra_classification_info message_tag CDATA #IMPLIED>

Example classification of an HTTP inbound request:

Use the following http request with the previously described sample z/OS workload classification document containing RAS attributes:

http://my.server.com:8080/PlantsByWebSphere/plants/newOrder.html

Because this request is an HTTP request, the application server scans only the http_classification_info elements. The application server scans the elements in the order that they occur in the workload classification file.

The application server finds the following http_classification_info element first in the sample z/OS workload classification document containing RAS attributes:

  <http_classification_info 
    host="my.server.com"
    port="8080"
    transaction_class="HTC8080" 
    dispatch_timeout="100"
    queue_timeout_percent="98"
    timeout_recovery="session"
    stalled_thread_dump_action="javacore">
This element has input attributes and values of host="my.server.com" and port="8080". Since these attributes match the inbound HTTP request, the application server descends into this element and compares the child nodes. The application server finds the following child element:
    <http_classification_info	
      uri="/PlantsByWebSphere/*"
      message_tag="plantsbw">
The child element defines the input attribute and value of uri="/PlantsByWebSphere/*", which matches the URI of the inbound request URI. The application server then scans the children of the element. The application server finds the first child element:
      <http_classification_info	
        uri="*.jpg"
        transaction_class="HTCPjpg"
        dispatch_timeout="10"
      />
This child element contains the uri="*.jpg" attribute and value. Since this attribute-value pair does not match the input URI, the application server moves to the next child element. The application server finds the second child element:
<http_classification_info	
        uri="*.html" 
        transaction_class="HTChtml" 
      />
This child element contains the uri="*.html" attribute and value, which matches the input URI.

Since no further child elements exist, the classification element classifies the request. The application server assigns the request all the output attributes from this classification element and all its ancestor elements. The following attribute-value pairs are a complete list of output attribute-value pairs that the application server assigns to the request:

dispatch_timeout="100"
  queue_timeout_percent="98"
  timeout_recovery="session"
  stalled_thread_dump_action="javacore"
  message_tag="plantsbw"
  transaction_class="HTChtml"
The application server reads any RAS attributes not defined in the workload classification file from the server-wide configuration and assigns them to the request. The relevant server-wide configuration properties, including which ones the classification data overrode, are in the following list:
  protocol_http_timeout_output                    -- overridden by dispatch_timeout 
  control_region_http_queue_timeout_percent       -- overridden by queue_timeout_percent
  com.ibm.CORBA.RequestTimeout 
  server_region_http_stalled_thread_dump_action   -- overridden by stalled_thread_dump_action
  server_region_request_cputimeused_limit 
  server_region_cputimeused_dump_action 
  server_region_dpm_dump_action
  server_SMF_request_activity_enabled 
  server_SMF_request_activity_timestamps 
  server_SMF_request_activity_CPU_detail
  protocol_http_timeout_output_recovery           -- overridden by timeout_recovery
For any server-wide configuration properties that the classification data does not override, the request inherits the server-wide property value.

Example classification of an IIOP inbound request:

Use the following IIOP request with the previously described sample z/OS workload classification document containing RAS attributes:

IIOP inbound request for MyEJB2bBean.someMethod() in module MyEJB2b.jar from application EJBApp2.

Because the inbound request is an IIOP request, the application server scans only the iiop_classification_info elements. The application server finds the following iiop_classification_info element first in the sample z/OS workload classification document containing RAS attributes:

<iiop_classification_info 
    application_name="EJBApp1" 
    transaction_class="TC1" 
    message_tag="EJBApp1">
This element has an input attribute and value of application_name="EJBApp1". The application name of EJBApp1 on the application_name attribute does not match the application name of EJBApp2 from the inbound request. Therefore, the application server skips this classification element and all of its child elements, and moves to the next element. The application server finds the next element:
  <iiop_classification_info 
    application_name="EJBApp2" 
    dispatch_timeout="15"
    message_tag="EJBApp2">
This element has an input attribute and value of application_name="EJBApp2". Because this attribute-value pair matches the application name of the inbound request, the scanner descends into this element. The application server finds the first child element:
<iiop_classification_info  
      module_name="MyEJB2a.jar" 
      transaction_class="TC2a" 
    />
This element contains the input attribute and value of module_name="MyEJB2a.jar". Because this attribute-value pair does not match the MyEJB2b.jar module name of the inbound request, the application server scans the next child element:
    <iiop_classification_info  
      module_name="MyEJB2b.jar" 
      transaction_class="TC2b" 
    />
This element contains the attribute and value of module_name="MyEJB2b.jar". The module name of yEJB2b.jar on the module_name attribute matches the module name of the inbound request. Since for no further child elements exist, the application server classifies the request to this element. The request inherits all the output attributes from this element and all the ancestor elements. The following attribute-value pairs are a complete list of output attribute-value pairs that the application server assigns to the request:
  dispatch_timeout="15"
  message_tag="EJBApp2"
  transaction_class="TC2b"
The application server reads any RAS attributes not defined in the workload classification file from the server-wide configuration and assigns them to the request. The relevant server-wide configuration properties, including which ones the classification data overrode, are in the following list:
  control_region_wlm_dispatch_timeout             -- overridden by dispatch_timeout 
  control_region_iiop_queue_timeout_percent       
  com.ibm.CORBA.RequestTimeout 
  server_region_iiop_stalled_thread_dump_action  
  server_region_request_cputimeused_limit 
  server_region_cputimeused_dump_action 
  server_region_dpm_dump_action
  server_SMF_request_activity_enabled 
  server_SMF_request_activity_timestamps 
  server_SMF_request_activity_CPU_detail
For any server-wide configuration properties that the classification data does not override, the request inherits the server-wide property value.


Related:

  • Workload management (WLM) for z/OS
  • Enable request-level Reliability Availability and Serviceability (RAS) granularity
  • Application server custom properties for z/OS