A technique that can improve system performance, rules assembly involves generating and compiling Java code corresponding to a rule at the moment that the Java code is first needed to execute, rather than in advance.
This late-binding technique avoids the cost of creating and compiling code that is never used, and can produce more efficient Java code than "generation at Save.." approach.
A second use of the rule (by the same requestor or another requestor with the same RuleSet list and on the same node) executes the precompiled Java code for the rule, so rules assembly is sometimes called first-use assembly (or fua) .
Process Commander generates rules-assembly Java for activities, stream rules, most decision and declarative rule types, parse rule types, and others. Click the Show Java toolbar button () when it appears to view an approximate preview of the run-time Java generated by the rules assembly facility. (The final Java may have additional inlining and optimizations, and reflects the RuleSet list of the user.)
Rules assembly processing applies information in the Aspect and Implementation fields on the Advanced tab of the Class form to control the assembly process.
Use the Performance tool to view statistics about rules assembly processing and caching for your session. Use the System Management application and the shutdown rule usage snapshot to view system-wide statistics.
An in-memory cache on each node provides fast access to the CLASS files of assembled and compiled Java.
Don't confuse this rules assembly cache with the rule cache which speeds rule resolution for many rule types, including some types that are not assembled into Java.
rule cache, rules assembly cache, temporary files | |
Caching in
Process Commander
Using the Performance tool Working with the rules assembly cache Working with the shutdown rule usage facility |