Skip Headers
Oracle® Communications Order and Service Management System Administrator's Guide
Release 7.2.2

E35414-02
Go to Documentation Home
Home
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

7 Configuring the Rule Engine

This chapter describes how to configure the Rule Engine to improve performance and handle rule-processing errors for Oracle Communications Service and Order Management (OSM).

In most cases, you can use the default configuration for the rule engine.

About Configuring the Rule Engine

The rule engine evaluates rules, event delays, and timer delays to determine when to transition to the next task in a process. The engine is implemented as one or more Task Processor threads running on WebLogic servers. There are two types of task processors: the rule task processor evaluates orders at rules and the delay task processor evaluates orders at delays. You can configure additional task processors to improve performance.

Configuring Rule-Engine Error Handling

You can configure how the OSM rule engine handles errors during processing.

To configure error handling, you use SQL to set a value in the OSM database. Table 7-1 shows the configuration parameters.

The first two parameters enable you to change the behavior of the rule engine when an Oracle internal error (ORA-00600) occurs. When that error occurs during the rule execution, the rule engine immediately tries to re-execute the current rule. If the rule executes, the rule engine continues processing. If the rule does not execute, the rule engine tries to re-execute the current rule (the number of retries is dictated by the value you specify in the rule_retries parameter). If it fails, the rule engine generates an error message. You can clear the error message using the System Events tab in the OSM Administrator application.

When an error occurs during the rule or delay processing, a message is recorded as a system event and the rule or delay is marked as invalid by default. The client has an option not to invalidate the task immediately when an error occurs during processing, but after a specific number of retries. Number of retries is defined by the order_rule_threshold parameter.

Table 7-1 Rule Engine Parameters

Parameter Description Default

rule_delay

Specifies the delay between retries when an Oracle internal error (ORA-00600) occurs.

N/A

rule_retries

Determines how many times you want the rule engine to retry executing a rule before generating an event.

N/A

order_rule_threshold

Specifies how the rule engine handles processing errors. Values are:

  • 0 - Unlimited retries without invalidation of rule/delay (this option can waste CPU if errors constantly occur).

  • 1 - Immediately invalidates the rule after an error occurs.

  • 2 or higher - Specifies how many uncleared error occurrences should disable the rule/delay. Error occurrences are counted in Total column on the System Events tab in the OSM Administrator application.

1


To change value of a parameter

You change these parameters by using SQL to edit the OM_PARAMETER table in the OSM schema:

  1. Connect to OSM schema using SQL*PLUS.

  2. Execute one of the following:

    • To specify the delay between retries when an Oracle internal error occurs:

      update om_parameter
      set value = 'value'
      where mnemonic = 'rule_delay';
      commit;
      
    • To specify the number of retries when an Oracle internal error occurs:

      update om_parameter
      set value = 'value'
      where mnemonic = 'rule_retries';
      commit;
      
    • To specify how to handle processing errors:

      update om_parameter
      set value = 'value'
      where mnemonic = 'order_rule_threshold';
      commit;
      

Configuring the Rule Engine for Performance

The number and type of task processors used in a given environment is determined at installation. You can also reconfigure them at a later time using the oms-config.xml file. After reconfiguration, restart the WebLogic server instance to apply the changes. The configuration parameters apply only to the WebLogic instance that uses the modified oms-config.xml file (your environment may have multiple WebLogic instances with multiple oms-config.xml files).

There are two types of task processors:

You may want to reconfigure the number or type of task processors as the amount of data you handle grows.

For rule task processors, the following parameters apply:

For delay task processors, the following parameters apply:

There must be at least one rule task processor running. The number of delay task processors can be 0 or above.

If there is a backlog of rule or delay tasks, you can increase the number of rule or delay task processors.

OSM will adjust the number of rule and delay task processors to use no more than 10% of the connection pool size that is configured for the WebLogic instance. The adjusted numbers are written in the managed server's log file. If the adjusted number of rule and delay task processors does not meet your performance requirement, increase the connection pool size or decrease the parameter oracle.communications.ordermanagement.RuleDelayTaskPoller.Interval.