Oracle® Application Server Release Notes 10g Release 3 (10.1.3.2) for Linux Itanium Part Number B32418-04 |
|
|
View PDF |
This chapter describes issues associated with Oracle Business Rules. It includes the following topics:
To install Rule Author in a Standalone OC4J, do the following:
Deploy Rule Author EAR, found in /Disk2/rules/webapps/ruleauthor_s.ear
.
Create a security group "rule-administrators".
Create a Rule Author user, for example, ruleadmin
, and add this user to the "rule-administrators" group.
Copy the "rules" directory from an installation of Oracle Application Server into the ORACLE_HOME of the Standalone OC4J install.
Stop and restart OC4J.
In certain cases, you can receive the following RL generation error:
"Fact class should be declared earlier ...".
For example, with the following generated RL for a data model:
ruleset DM { function CreateDataAndTestRules() { servOrders.ServiceOrderTypeImpl sot = new servOrders.ServiceOrderTypeImpl(); . . .
This causes the implemented Impl
class to be autofactclassed before the Type is factclassed. When the Type is then referred to in the rules, the following error is thrown:
ClassName: A syntax error is found. Error:fact class should be declared earlier at line 5 column 3 in serviceDateValidation
To fix this problem:
Classes with complex type hierarchies, for example they both extends a class and implements an interface must have classes referenced in a particular order. If the classes are not referenced in the correct order, then the rules engine cannot correctly determine the class hierarchy.
There are two ways to fix this problem:
Check "supports XPath" for the ServiceOrderType
class; this introduces a slight performance cost.
Change the code in the CreateDataAndTestRules
function. For example, change the instance creation to:
servOrders.ServiceOrderType sot = new servOrders.ServiceOrderTypeImpl();
This parses in the right order such that the superclass is created before the implementing class.