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) .
PRPC 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 can impact performance. These facilities help identify how many different RuleSet lists are being used on your system and the rules assembly impact.
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.
As an alternative to on-demand, dynamic rules assembly, you can also assemble rules in batch mode, using the static assembler utility.
Rules assembly processing applies information in the Aspect and Implementation fields on the Advanced tab of the Class form to control the assembly process.