9 Customizing Oracle Service Bus Environments

This chapter provides details on customizing a Service Bus environment by finding and replacing the values of environment variables associated with different resources, and by creating configuration files that make automated changes to resources and environment values when moving a Service Bus configuration from one environment to another.

This chapter includes the following sections:

9.1 About Environment Values

Environment values represent data in the Service Bus configuration that are likely to change when you move your configuration from one domain to another (for example, from test to production). These are predefined fields, and environment values correspond to the properties you configure when you create a service or resource for Service Bus.

Environment values represent entities such as URLs, URIs, file and directory names, server names, email servers, and so on. A good example is the URL of a proxy service, which changes depending on the physical location of the domain. Environment values can be found in alert destinations, proxy services, business services, SMTP Server and JNDI Provider resources, UDDI Registry entries, and transports. As part of deployment, you must update environment values to reflect the values that are relevant to the target system.

You can either use the Find and Replace dialog on the Oracle Service Bus Console to update environment values in a domain or you can create and execute a configuration file. The Find and Replace dialog lets you replace entire environment values or just substrings of the values, and it is useful for making minor or small changes. Configuration files let you modify all the environment variables directly, find and replace strings or substrings, update operational settings at the global and service levels, and update references between resources.

9.1.1 Find and Replace

Using the Find and Replace dialog in the Oracle Service Bus Console, you can search for environment values in a domain and view a list of matching values. You can also replace a value or part of a value. For example, if you only need to change the server name and port number in all environment values, you can search for old_hostname:old_port and replace it with new_hostname:new_port in all environment values at one time. The Find and Replace dialog does not search operational settings values.

Certain environment values are complex XML objects that cannot be found and replaced using the Find and Replace option. However, you can still set these environment values using configuration files. You can also set them directly by using the ALSBConfigurationMBean from a script. For detailed information about ALSBConfigurationMBean, see the Java API Reference for Oracle Service Bus.

9.1.2 Configuration Files

Configuration files provide a convenient way to modify your environment during deployment, from development to staging, from staging to production, or during design time. Configuration files are XML-based files that define environment values, operational settings, and reference mappings used by Service Bus. Because they are XML-based, you can easily modify a generated configuration file using an XML editor. By creating and executing a configuration file against a Service Bus instance, you can quickly update the properties that are specific to the environment in which the projects are running without having to update the properties one at a time. You can use a configuration file to perform the following actions against environment variable values:

  • Replace: When an environment value is replaced, the new environment value replaces the existing value, even if the new value is null. This is the default action if no other action is specified. This action is supported by all environment values.

    See “Example - Updating Global Operational Settings Using the Replace Action” in Sample Configuration Files for a sample configuration file using the replace action.

  • Update: When an environment value is updated, the new environment value updates the existing value except if the new value is not specified. If a new value is not specified, the existing value is retained. As the update action replaces only the values you specify, use it instead of the replace action if you want to change only one setting and want to retain the current value for the remaining settings. The update action is only supported by the operational settings environment values (listed in Table 9-2.

    See “Example - Updating Operational Settings using the Update Action” in Sample Configuration Files for a sample configuration file using the update action.

  • Add: This adds a new environment value, and typically only applies to environment values that include multiple entries, such as business service endpoint URIs. This action is supported for the Service SLA Alert Rule values.

    See “Example - Adding and Deleting SLA Alert Rules” in Sample Configuration Files for a sample configuration file using the add action.

  • Delete: This deletes an existing environment value, and typically only applies to environment values that include multiple entries, such as business service endpoint URIs. This action is supported for the Service SLA Alert Rule values.

    See “Example - Adding and Deleting SLA Alert Rules” in Sample Configuration Files for a sample configuration file using the delete action.

  • Find and Replace: Define find and replace operations to replace entire environment values or substrings of values.

    See “Example - Updating Values using the Find and Replace Action” in Sample Configuration Files for a sample configuration file using the find and replace action.

You can also define new mappings for references in the configuration file. For example, you can map a proxy service to a different pipeline in the new environment. See “Example - Updating Resource References” in Sample Configuration Files for an example.

9.1.2.1 Schema Files

The configuration file is based on several schema files that define the required formatting for the file. The main schema file (Customization.xsd) defines the general format of the configuration file. When you create a configuration file in the Oracle Service Bus Console, most of the necessary syntax is automatically generated for you. The exception to this is if you want to add alert rules using a configuration file. In that case, you can refer to the following schemas:

  • AlertRule.xsd

  • AlertRuleCondition.xsd

The following files define operational settings for services:

  • BusinessOperations.xsd

  • FlowOperations.xsd

  • PipelineOperations.xsd

  • ProxyOperations.xsd

  • DomainConfig.xsd: Describes the global operational settings format.

  • EnvValues.xsd

  • JmsEnvValues.xsd

The XML schemas are available from the following location in your Service Bus installation:

OSB_ORACLE_HOME\lib\servicebus-schemas.jar

9.1.2.2 Operational Settings

Operational settings control certain behaviors for Service Bus services at runtime both globally and at the service level. Operational settings include enabling and disabling administrative features, such as monitoring, logging, reporting, and alerts. They also include configuring properties specific to a service, such as throttling and result caching for business services. For more information about operational settings, see Configuring Operational and Global Settings.

Operational settings are defined by two environment values, which are included in the configuration file but not in the Find and Replace dialog. The Global Operational Settings variable defines the settings for all Service Bus services. The Service Operational Settings variable defines the settings for a specific service.

9.1.2.3 Environment Values

The EnvValueActionsCustomizationType element in the configuration file defines new values for specific properties in each resource. The environment variables you can configure vary depending on the types of resources in the Service Bus environment.

9.1.2.4 Find and Replace

The FindAndReplaceCustomizationType element in the configuration file defines find and replace operations for specific environment values. This element defines the query for environment values and then specifies the replacement string for those values. You can further filter your search by the type of resources, environment values, and references to consider, as well as whether to include only modified resources. If you specify a search string and set the isCompletematch flag to false, the matching substring in existing environment values is replaced. If you do not specify a search string, the entire environment value is replaced. This element only supports simple types, such as boolean and string.

9.1.2.5 Reference Mapping

The ReferenceCustomizationType element in the configuration file updates references to specific resources. This element lists an existing reference and its path, and then specifies a new reference and path to update any resources that refer to the existing reference.

9.2 Finding and Replacing Environment Values Using the Oracle Service Bus Console

Use the Find and Replace feature in the Oracle Service Bus Console to search for environment values in a domain and optionally replace a value with a new value.

This feature behaves differently based on whether or not you are in a session. If you are in a session, you can find and replace environment values. However, if you are outside a session, you can only find environment values; Replace All is disabled.

Note:

Certain environment values are complex XML objects that cannot be found and replaced using the Oracle Service Bus Console. However, you can still set these environment values directly by using the ALSBConfigurationMBean from a script. For detailed information about ALSBConfigurationMBean, see the Java API Reference for Oracle Service Bus. Operational settings also cannot be found and replaced using the console.

In addition to setting them through the API, you can set complex type environment values using configuration files. See Using Configuration Files to Update Environment Values and Operational Settings.

9.2.1 Finding Environment Values

You can perform a search for environment values either from within a session or outside of a session. You can filter your search by a variety of criteria, including the actual value, a variable type, a specific project, and current session or all sessions.

To find environment values in the Oracle Service Bus Console:

  1. On the Oracle Service Bus Console, click the Admin tab, and then click Find and Replace.

    The Find and Replace dialog appears.

    Figure 9-1 Find and Replace Dialog

    Description of Figure 9-1 follows
    Description of "Figure 9-1 Find and Replace Dialog"
  2. In the Find Value field, enter the environment value that you want to find.

    You can enter a partial value in this field. For example, entering "fal" displays all environment values that are set to false as well as any other values that contain the string "fal."

  3. To locate only items changed in your current session, select Current Session Only.
  4. In the Variable Type list, select the type of environment value for which to search.

    Table 9-1 lists and describes the available types.

  5. To locate environment values located in a particular project, select the project name from the Project list.
  6. Click Find.

    A list of matching values appears on the Find and Replace Results tab at the bottom of the page.

9.2.2 Replacing Environment Values

When you replace environment values, Service Bus replaces the exact value you enter in the Find Value field with the value you enter in the Replace with field in the values that result from the search.

To replace environment values in the Oracle Service Bus Console:

  1. Launch the Oracle Service Bus Console.
  2. If you want to replace and not just find values, make sure you are in a session. Click Create to create a new session or click Edit to enter an existing session.
  3. Click the Admin tab, and then click Find and Replace.

    The Find and Replace dialog appears.

  4. Enter the search criteria for the environment value you want to find, as described in Finding Environment Values.

    Make sure to enter the exact value you want to replace in the Find Value field.

  5. To display a list of environment values in your configuration that match your criteria, click Find.

    A list of matching values appears on the Find and Replace Results tab at the bottom of the page.

  6. In the Replace with field, enter the new environment value that will replace the value you entered in the Find Value field.

    Figure 9-2 Find and Replace Dialog with Replacement Value

    Description of Figure 9-2 follows
    Description of "Figure 9-2 Find and Replace Dialog with Replacement Value"
  7. To replace the original environment value with the new value in all the search results, click Replace.

    All occurrences of the value you entered in the Find Value field are replaced with the environment value you entered in the Replace with field in the current session.

  8. To end the session and deploy the configuration to the runtime, click Activate.

9.3 Using Configuration Files to Update Environment Values and Operational Settings

Use the Oracle Service Bus Console to generate a configuration file based on your current configuration.

Typically, you import Service Bus resources to the new domain, create a configuration file based on just those resources you imported, update the values in the configuration file, and then execute the updated configuration file against the new domain.

Configuration files can include customizations for all the environment values found in the resources you selected, including complex environment value types defined in the EnvValueTypes class. The actions you can perform are defined in the EnvValueAction class. In addition, configuration files include a reference customization type for changing resource references within resources with dependencies.

For more information about configuration files, see Configuration Files. For information about EnvValueTypes and EnvValueAction, see the Java API Reference for Oracle Service Bus.

9.3.1 Creating a Configuration File

The Oracle Service Bus Console provides a convenient way to generate a configuration file for a set of resources or projects that you select. You can then use this file as a starting point for making any needed modifications by specifying the actual values for a specific Service Bus environment.

The configuration file generated by Service Bus only includes replace actions. If you want to perform an update, add, or delete action instead, you need to manually update the generated file with the new action.

To create a configuration file:

  1. On the Oracle Service Bus Console, select the Admin tab, and then click Create Configuration File.

    The Create Configuration File page appears with a list of objects in your configuration.

  2. Select the projects or resources you want to include in the configuration file.

    1. Click the right arrows to expand the project folders. The name and type for each resource contained in the project appears.

    2. Select the check boxes associated with the projects or resources you want to include in the configuration file.

    3. Clear the check boxes associated with the projects or resources that you do not want to include in the configuration file.

  3. Click Create.

  4. In the File Download dialog box, click Open to open the file or click Save to save the file to your local machine.

  5. In an XML editor, use the customization schema in conjunction with the base configuration file you created to make the necessary modifications to resources and environment variables.

    Your base configuration file may already be populated with environment variables. Table 9-1 lists the environment variables that are automatically included with different resources.

9.3.2 Executing a Configuration File

Once you create a configuration file and update the values for the new domain, you can execute the file that was previously saved on your system. You must be in a session to execute a configuration file.

To execute a configuration file:

  1. Launch the Oracle Service Bus Console in the environment where you want to apply the environment value updates.
  2. If you have not already done so, click Create to create a new session or click Edit to enter an existing session.
  3. Click the Admin tab, and then click Execute Configuration File.
  4. Click Browse, and navigate to and select a configuration file to execute.
  5. Click Next.

    A summary of changes that will be made by executing the configuration file appears.

  6. To configure only resources, services, projects, or folders changed in the current session, select Show Only Items Edited in the Current Session.

    If you limit configuration to only resources modified in the current session, the Apply To column is updated with the resources modified in current session. If you limit customizations of a project or folder, then the resources modified in current session within that project or folder are displayed in Apply To column.

  7. Review all changes listed in the summary to be sure they are correct.
  8. Click Finish to commit the updates in the current session.

    To view configuration details, within the session, the History tab at the bottom of the page, and then click the Customization task.

  9. To end the session and deploy the configuration to the runtime, click Activate.

9.4 Available Environment Values

Environment variables appear on the Find and Replace dialog and in the configuration files you create to update environment properties.

The following table lists the environment values you can find, replace, and update in an environment. In the configuration file, some variables include a location, which is a non-negative integer that represents the index to that value in a list of values. For example, the location for a URI value might specify a particular URI that is associated with a business service with several endpoint URIs.

For information about EnvValueTypes, see the Java API Reference for Oracle Service Bus. The Java types and location values of these environment values are described in the API reference. For more information about the values for any of the environment value types, see the online help for the component in which they are found.

Table 9-1 Environment Values for Resources

Environment Value Found In Description

Alert SNMP Trap

Alert destination

An indicator of whether SNMP trap is enabled for an alert destination.

Alert to Log

Alert destination

An indicator of whether alert logging is enabled for an alert destination.

Alert To Reporting Data

Alert destination

An indicator of whether alert reporting is enabled for an alert destination.

Dynamic Queue Pooling

MQ connection

 

Email Archive Directory

Email proxy service

The archive directory for an email proxy service.

Email Destination URI

Alert destination

The URI in an email alert destination. This variable includes a location in the configuration file.

Email Download Directory

Email proxy service

The download directory for an email proxy service.

Email Error Directory

Email proxy service

The error directory for an email proxy service.

File Archive Directory

File proxy service

The archive directory for a file proxy service.

File Error Directory

File proxy service

The error directory for a file proxy service.

File Stage Directory

File proxy service

The stage directory for a file proxy service.

FTP Archive Directory

FTP proxy service

The archive directory for an FTP proxy service.

FTP Download Directory

FTP proxy service

The download directory for an FTP proxy service.

FTP Error Directory

FTP proxy service

The error directory for an FTP proxy service.

Http Outbound Connection Timeout

HTTP business service

Connection timeout interval (in seconds) for an HTTP business service.

Http Outbound Socket Read Timeout

HTTP business service

Read timeout interval (in seconds) for an HTTP business service.

IMAP Move Folder

Email proxy service

IMAP Move directory for an email proxy service.

JCA Always Use WSDL Flag

JCA proxy and business service

An indicator of whether connection factory properties, activation spec properties (proxy services), and interaction spec properties (business services) are always used from the WSDL file.

JCA Connection Mode

JCA proxy and business service

The mode that determines how a service connects to an associated JCA adapter: managed or non-managed mode. Valid values are managed or non-managed.

JCA Overwrite Connection Authentication Flag

JCA proxy and business service

An indicator of whether authentication credentials in the JCA adapter connection factory are overridden in a development or test environment (in non-managed connection mode).

JEJB Proxy Remote Client Timeout

JEJB proxy service

The RMI client timeout interval (in seconds) for a JEJB proxy service.

JMS Alert Destination URI

Alert destination

The URI in a JMS alert destination. This variable includes a location in the configuration file.

JMS Managed Server

JMS business service

The Managed Server associated with the destination for a JMS business service that has a Message ID response correlation pattern. This variable includes a location in the configuration file.

JMS Queue Connection Factory

JMS proxy and business service

A response queue connection factory for a JMS proxy or business service with a Message ID response correlation pattern. This variable includes a location in the configuration file. The location is null for proxy services.

JMS Response Destination

JMS business service

The destination of a JMS business service with a Message ID response correlation pattern. This variable includes a location in the configuration file.

JMS Response URI

JMS proxy and business service

The URI of the response queue for JMS proxy or business services using a JMS Correlation ID response correlation pattern. This variable includes a location in the configuration file.

JNDI Provider URL

JNDI provider

The URL for the JNDI provider.

Managed Server for Polling

E-mail, File, FTP, or SFTP proxy service in a clustered domain

The managed server for polling in a clustered domain.

MQ Connection List

MQ connection

The list of MQ connections used when Multi-instance Queue Manager support is enabled.

MQ Connection Pool Size

MQ connection

The size of the MQ connection pool.

MQ Connection Timeout

MQ connection

The time interval after which unused connections are destroyed.

MQ Dead Letter URI

MQ proxy service

The URI of the dead letter queue to which request messages are redirected after a pipeline retries a message a specified number of times.

MQ Host Name

MQ connection

The name of the server hosting the MQ queue manager.

MQ Multi-instance QM Enabled

MQ connection

An indicator of whether MQ Multi-instacne Queue Manager support is enabled. When enabled, the list of connections in MQ Connection List are used.

MQ Port Number

MQ connection

The port number of the MQ queue manager listener.

MQ Queue Manager Channel Name

MQ connection

The MQ queue manager server connection channel name.

MQ Queue Manager Name

MQ connection

The name of the MQ queue manager.

MQ Response URI

MQ proxy and business service

The URI for the proxy or business service response.

MQ Unrecognized Response URI

MQ business service

The URI of the queue to which unrecognized response messages are sent.

MQ Version

MQ connection

The version of WebSphere MQ being used.

MQ XA Enabled

MQ connection

An indicator of whether the transactions handled by the MQ connection are distributed (XA).

Proxy Server Host

Proxy server

The host name of a proxy server in a proxy server resource. This variable includes a location in the configuration file.

Proxy Server Port

Proxy server

The port number of a proxy server in a proxy server resource. This value is an integer. This variable includes a location in the configuration file.

Secure Connections to JMS Server

JMS proxy and business service

An indicator of whether Service Bus uses SSL to connect to the JMS server. If true, Service Bus connects to the JMS server and JNDI tree using SSL (t3s); otherwise, connections occur over a clear text (t3) channel. The location value should be null.

Service Retry Count

Business service

The number of times endpoint URIs are retried for a business service; in other words, the number of failover attempts.

Service Retry Iteration Interval

Business service

The length of time that a business service waits before iterating over the entire set of URIs again.

Service URI

Proxy or business service

Proxy or business service URI. This variable includes a location in the configuration file. The location is not defined for proxy services.

Service URI Weight

Business service

The individual weights assigned to business service URIs. This variable includes a location in the configuration file.

SFTP Archive Directory

SFTP proxy service

The archive directory for a SFTP proxy service. If direct-streaming is on, the archive directory is present on the remote SFTP server; otherwise, it is present locally.

SFTP Download Directory

SFTP proxy service

The download directory for a SFTP proxy service.

SFTP Error Directory

SFTP proxy service

The error directory for a SFTP proxy service. If direct-streaming is on, the error directory is present on the remote SFTP server; otherwise, it is present locally.

SFTP Preferred Cipher Suite

SFTP proxy and business service

The cipher suite to use for authentication and encryption in SFTP proxy and business services.

SFTP Preferred Compression Algorithm

SFTP proxy and business service

The compression library to use to compress in-flight data in SFTP proxy and business services.

SFTP Preferred Data Integrity Algorithm

SFTP proxy and business service

The bulk-hashing algorithm to use integrity checks in SFTP proxy and business services.

SFTP Preferred Key Exchange Algorithm

SFTP proxy and business service

The default key exchange protocol for negotiating the session key for encrypting the message in SFTP proxy and business services.

SFTP Preferred Public Key Algorithm

SFTP proxy and business service

The asymmetric key algorithm for public-key cryptography in SFTP proxy and business services.

SMTP Server URL

SMTP Server

The URls for SMTP Servers.

Throttling Group Enabled

Throttling group

An indicator of whether a business service throttling group is enabled.

Throttling Group Maximum Concurrency

Throttling group

The maximum number of messages that can be concurrently processed by the throttling group.

Throttling Group Maximum Queue Length

Throttling group

The maximum number of messages allowed in the throttling queue to restrict the number of messages in the queue.

Throttling Group Time to Live

Throttling group

The maximum time (in milliseconds) a message can be in the throttling queue of the throttling group.

Tuxedo Access Point Map

Proxy or business service

The name and address of the local access points per Managed Server; there is one location per URI.

Tuxedo Access Point Name

Business service

The name of the remote WTC access point associated with the URI.

Tuxedo Network Address

Business service

The network address of the remote WTC access point associated with the URI.

UDDI Auto Import

UDDI Registry

An indicator of whether auto-synchronization is enabled for an imported business service from a UDDI Registry. This property is per registry.

UDDI Auto Publish

Proxy service

An indicator of whether auto-publish to a UDDI Registry is enables for a proxy service.

UDDI Inquiry URL

UDDI Registry

The inquiry URL for a UDDI Registry.

UDDI Publish URL

UDDI Registry

The publish URL for a UDDI Registry.

UDDI Security URL

UDDI Registry

The security URL for a UDDI Registry.

UDDI Subscription URL

UDDI Registry

The subscription URL for a UDDI Registry.

WS Error Queue URI

WS business service

The URI of the JMS queue for storing error messages.

Work Manager

Proxy services and business services

The name of the dispatch policy in all proxy and business services.

9.5 Environment Values for Operational Settings

You can define operational settings in a configuration file at both the global and service level to script updates to these settings in a new environment.

The values listed in the following table let you define new values for operational settings. When you generate a configuration file from your Service Bus environment, the operational settings are automatically included in the file.

Table 9-2 Environment Values for Operational Settings

Environment Value Found In Value

Global Operational Settings

Proxy and business service, pipeline, split-join

The global operational settings for proxy services, business services, pipelines, and split-joins. You can specify values for the following global settings:

  • Monitoring enabled

  • Reporting enabled

  • Logging enabled

  • SLA alerting enabled

  • Pipeline alerting enabled

  • Result caching enabled

  • Maximum locked groups (resequencer)

  • The locker thread sleep period (resequencer)

  • Whether to delete completed messages (resequencer)

This value supports replacing and updating operational settings.

Service Operational Settings

Proxy and business service, pipeline, split-join

The operational settings for a proxy or business service, pipeline, or split-join. The available operational settings vary by service type. This value supports replacing and updating operational settings.

Service SLA Alert Rules

Proxy and business service, pipeline, split-join

All alert rules for a proxy or business service, pipeline, or split-join. This value only supports the replace action, and can be used to replace all alert rules for a resource.

Service SLA Alert Rule

Proxy and business service, pipeline, split-join

The properties for an alert rule for a proxy or business service, pipeline, or split-join. This value supports replacing, updating, adding, and deleting rules. It includes a location, which determines where the new rule is inserted. When adding a rule, specify one of the following locations:

  • Null: Inserts the new rule at the end of the list of rules.

  • The name of an alert rule: Inserts the new rule before the alert rule you entered.

When deleting an alert rule, specify the name of the rule to delete in the location.

9.6 Sample Configuration Files

This section provides some excerpts from configuration files that show how to perform various updates to a Service Bus domain, including operational settings, SLA alert rules, and references. It also illustrates using the find and replace feature.

Example - Updating Global Operational Settings Using the Replace Action

The following sample replaces the operational settings with the values specified in the <con:operations> child of the <xt:replace> element. Items within the <xt:replace> element without provided values are assigned null values.

  <cus:customization xsi:type="cus:EnvValueActionsCustomizationType">
    <cus:description/>
    <cus:owners>
      <xt:owner>
        <xt:type>Operations</xt:type>
        <xt:path>System/Operator Settings/GlobalOperationalSettings</xt:path>
      </xt:owner>
    </cus:owners>
    <cus:actions>
      <xt:replace>
        <xt:envValueType>Global Operational Settings</xt:envValueType>
        <xt:value>
          <con:operations>
            <con:monitoring>true</con:monitoring>
            <con:reporting>false</con:reporting>
            <con:logging>true</con:logging>
            <con:sla-alerting>true</con:sla-alerting>
            <con:pipeline-alerting>true</con:pipeline-alerting>
            <con:result-caching>false</con:result-caching>
            <con:resequencer-settings>
              <con:maxGroupsLocked>15</con:maxGroupsLocked>
              <con:lockerThreadSleep>10</con:lockerThreadSleep>
              <con:deleteCompletedMessage>true</con:deleteCompletedMessage>
            </con:resequencer-settings>
          </con:operations>
        </xt:value>
      </xt:replace>
    </cus:actions>
  </cus:customization>

Example - Updating Operational Settings using the Update Action

The following sample updates the Monitoring operational setting to true. Values for the other operational settings are not updated because new values are not provided.

  <cus:customization xsi:type="cus:EnvValueActionsCustomizationType">
    <cus:description/>
    <cus:owners>
      <xt:owner>
        <xt:type>Operations</xt:type>
        <xt:path>System/Operator Settings/GlobalOperationalSettings</xt:path>
      </xt:owner>
    </cus:owners>
    <cus:actions>
      <xt:update>
        <xt:envValueType>Global Operational Settings</xt:envValueType>
        <xt:value>
          <con:operations xmlns:con="http://xmlns.oracle.com/servicebus/domain/config">
            <con:monitoring>true</con:monitoring>            
            <con:reporting></con:reporting>
            <con:logging></con:logging>
            <con:sla-alerting></con:sla-alerting>
            <con:pipeline-alerting></con:pipeline-alerting>
            <con:result-caching></con:result-caching>
            <con:resequencer-settings>
              <con:maxGroupsLocked></con:maxGroupsLocked>
              <con:lockerThreadSleep></con:lockerThreadSleep>
              <con:deleteCompletedMessage></con:deleteCompletedMessage>
            </con:resequencer-settings>
            <con:javaScript-timeout></con:javaScript-timeout>
            <con:automatic-service-migration></con:automatic-service-migration>
          </con:operations>
        </xt:value>
      </xt:update>
    </cus:actions>
  </cus:customization>

Example - Adding and Deleting SLA Alert Rules

This excerpt shows how to add a new SLA alert rule (ErrorCount) to a business service named bix_transfer in the TicketProcess project. The new rule is added before the AverageResponse rule. The excerpt also shows how to delete an SLA alert from a split-join named sj_transfer.

  <cus:customization xsi:type="cus:EnvValueActionsCustomizationType">
    <cus:description>Add new alert rule to multiple services</cus:description>
    <cus:owners>
      <xt:owner>
        <xt:type>BusinessService</xt:type>
        <xt:path>TicketProcess/bix_transfer</xt:path>
      </xt:owner>
      <xt:ownerQuery>
        <xt:resourceTypes>ProxyService</xt:resourceTypes>
      </xt:ownerQuery>
    </cus:owners>
    <cus:actions>
      <xt:add>
        <xt:envValueType>Service SLA Alert Rule</xt:envValueType>
        <xt:location>AverageResponse</xt:location>
        <xt:value>
          <aler:alertRule enabled="true" name="ErrorCount"
            xmlns:con="http://xmlns.oracle.com/servicebus/business/config"
            xmlns:oper1="http://xmlns.oracle.com/servicebus/operations"
            xmlns:oper="http://xmlns.oracle.com/servicebus/business/operations">
            <aler:description>Transport error count limit</aler:description>
            <aler:frequency>every-time</aler:frequency>
            <aler:severity>minor</aler:severity>
            <aler:stopProcessing>true</aler:stopProcessing>
            <aler:condition aggregation-interval="10">
              <con1:monCondExpr xmlns:con1="http://xmlns.oracle.com/servicebus/monitoring/alert/condition">
                <con1:function>count</con1:function>
                <con1:lhs>Transport.error-count</con1:lhs>
                <con1:operator>></con1:operator>
                <con1:rhs>0</con1:rhs>
              </con1:monCondExpr>
            </aler:condition>
            <aler:alertDestination ref="TicketProcess/dest"/>
            <aler:summary>Transport error count exceeded.</aler:summary>
          </aler:alertRule>
        </xt:value>
      </xt:add>
    </cus:actions>
  </cus:customization>
  <cus:customization xsi:type="cus:EnvValueActionsCustomizationType">
    <cus:description>Delete alert rule</cus:description>
    <cus:owners>
      <xt:owner>
        <xt:type>FLOW</xt:type>
        <xt:path>TicketProcess/sj_transfer</xt:path>
      </xt:owner>
    </cus:owners>
    <cus:actions>
      <xt:delete>
        <xt:envValueType>Service SLA Alert Rule</xt:envValueType>
        <xt:location>rule1</xt:location>
      </xt:delete>
</cus:actions>
</cus:customization>

Example - Updating Values using the Find and Replace Action

The following sample searches for environment values that contain localhost:7001 and replace that value or substring with test1500env:7101 in proxy and business services.

Items in the <cus:query> element determine the resources, environment values, and paths to search. The <xt:searchString> element contains the search string. The <cus:replacement> element contains the replacement string.

  <cus:customization xsi:type="cus:FindAndReplaceCustomizationType">
    <cus:description/>
    <cus:query>
      <xt:resourceTypes>ProxyService</xt:resourceTypes>
      <xt:resourceTypes>BusinessService</xt:resourceTypes>
      <xt:envValueTypes>File Error Directory</xt:envValueTypes>
      <xt:envValueTypes>Service Retry Iteration Interval</xt:envValueTypes>
      <xt:envValueTypes>UDDI Auto Publish</xt:envValueTypes>
      <xt:envValueTypes>Service URI Weight</xt:envValueTypes>
      <xt:envValueTypes>File Stage Directory</xt:envValueTypes>
      <xt:envValueTypes>Service Retry Count</xt:envValueTypes>
      <xt:envValueTypes>Service URI</xt:envValueTypes>
      <xt:envValueTypes>Managed Server for Polling</xt:envValueTypes>
      <xt:envValueTypes>File Archive Directory</xt:envValueTypes>
      <xt:refsToSearch xsi:type="xt:ResourceRefType">
        <xt:type>ProxyService</xt:type>
        <xt:path>Order/ps_order</xt:path>
      </xt:refsToSearch>
      <xt:refsToSearch xsi:type="xt:ResourceRefType">
        <xt:type>BusinessService</xt:type>
        <xt:path>Order/bs_order</xt:path>
      </xt:refsToSearch>
      <xt:includeOnlyModifiedResources>false</xt:includeOnlyModifiedResources>
      <xt:searchString>localhost:7001</xt:searchString>
      <xt:isCompleteMatch>false</xt:isCompleteMatch>
    </cus:query>
    <cus:replacement>test1500env:7101</cus:replacement>
  </cus:customization>

Example - Updating Resource References

The following excerpt updates any references to the business service named bs_order in the Order project to bs_order in the OrderProcess project:

  <cus:customization xsi:type="cus:ReferenceCustomizationType">
    <cus:description/>
    <cus:refsToBeConsidered xsi:type="xt:ResourceRefType">
      <xt:type>ProxyService</xt:type>
      <xt:path>Order/order_proxy</xt:path>
    </cus:refsToBeConsidered>
    <cus:refsToBeConsidered xsi:type="xt:ResourceRefType">
      <xt:type>Pipeline</xt:type>
      <xt:path>Order/ps_orderPipeline</xt:path>
    </cus:refsToBeConsidered>
    <cus:externalReferenceMap>
      <xt:oldRef>
        <xt:type>BusinessService</xt:type>
        <xt:path>Order/bs_order</xt:path>
      </xt:oldRef>
      <xt:newRef>
        <xt:type>BusinessService</xt:type>
        <xt:path>OrderProcess/bs_order</xt:path>
      </xt:newRef>
    </cus:externalReferenceMap>
  </cus:customization>