The diagnostics test the execution and the update mechanism of a ruleset on all Execution Unit (XU) instances (typically cluster members) that are visible to the management console.
The ruleset is deployed under this path: /test_ruleapp/1.0/test_ruleset/1.0. The ruleset contains a single out parameter to retrieve the host name where the ruleset has been executed:
ruleset executionTest {
out java.lang.String result = "ruleset executed on: " + java.net.InetAddress.getLocalHost().getHostName();
};
The stages are as follows:
-
MBean Factory: Checks the implementation.
-
XU Lookup: Checks the local Execution Unit (XU) access through JNDI.
If the local XU is not found a warning is given. The warning could be the fault of:
-
The XU is not installed on the same server as the console. In this case, the warning is normal.
-
The XU is installed on the same server as the console. In this case, the warning is not normal. The most likely scenario is that the default JNDI name of the XU (
eis/XUConnectionFactory) is not set correctly. Modify the XU resource reference in the application server specific descriptor of the console, for example jrules-bres-management-WL90.ear/jrules-bres-management.war/WEB-INF/weblogic.xml.
-
XU MBean: Retrieves all XUs visible to the console and displays the version numbers.
This step is not performed if step 1 failed. If there is a warning at this step:
-
The application server is WebSphere. In this case, the warning is normal, see the note below.
-
The deployed XU does not have the same version as the console. In this case, the warning is normal. The console only sees XU MBeans with the same major.minor JRules version.
-
If the previous two cases do not apply, the warning is not normal. Check the XU log file to verify that the XU MBean has been registered.
-
Model MBean: Check that the model MBean has been registered.
This step is not performed if step 1 failed.
-
Resource Provider: Performs a full check of the persistence layer. Displays all persistence information, for example the driver and its version of the data source provider, or the working directory of the file provider.
-
Create RuleApp: Create an empty RuleApp
/test_ruleapp/1.0.
-
RuleApp MBean: Checks that the RuleApp MBean has been registered.
This step is not performed if the Create RuleApp step failed.
-
Create Ruleset: Creates the ruleset
/test_ruleapp/1.0/test_ruleset/1.0.
This step is not performed if the Create RuleApp step failed.
-
Ruleset MBean: Checks that the ruleset MBean has been registered.
This step is not performed if the Create Ruleset step failed.
-
RuleSession Execution: Executes the ruleset
/test_ruleapp/1.0/test_ruleset/1.0 using a POJO rule session.
This step is not performed if either the XU Lookup step or the Create Ruleset step failed.
-
MBean Execution: Executes the ruleset
/test_ruleapp/1.0/test_ruleset/1.0 on all visible XUs.
This step is not performed if either the XU MBean step, the Create Ruleset step, or the MBean Factory step failed.
-
Update Ruleset: Changes the ruleset to:
out java.lang.String result = "updated";
This step is not performed if the Create Ruleset step failed.
-
RuleSession Second Execution: Executes the ruleset with a POJO rule session to check the update.
This step is not performed if the RuleSession Execution step failed.
-
MBean Second Execution: Executes the ruleset on all visible XUs.
This step is not performed if the MBean Execution step failed.
-
Remove RuleApp: Removes the RuleApp
/test_ruleapp/1.0.
This step is not performed if the Create RuleApp step failed.
-
Check MBeans: Checks that the RuleApp MBean and the Ruleset MBean have been unregistered.
This step is not performed if the MBean Factory step, the RuleApp MBean step, or the Ruleset MBean step failed.
| Note |
| To let a scalable number of users access resources through the Java components, JCA assigns the task of implementing connection pooling to application server vendors. On WebSphere Application Server (WAS), the pool size is not instantiated beforehand and therefore prevents the server diagnostics from validating Rule Execution Server before the first execution of a rule engine. The diagnostics remains useful to validate a configuration, especially in a cluster, to check invoked XUs registered with the management model. If the diagnostics is performed before any XUs have been invoked, the test is passed and a message is displayed verifying that no XU(s) have been initialized.
|
See Also
Viewing Server Logged Events | Viewing Execution Unit (XU) Logged Events