Library generation
The system saves compiled CLASS files for library functions
as disk files in each node. Use one of these procedures to
compile one or more libraries. Some affect only your current
node; others force eventual recompilation on all nodes of
cluster.
- To compile a single library, open the Library form and
click the Generate Library button on the Package tab. In a cluster, During system
pulse processing by the Pega-RULES agent, that library is
compiled on each node.
- To compile all libraries referenced in a ZIP archive you
as you import the ZIP file, select the Compile
Library check box on the Import Archive from ZIP
form.
- To force immediate recompilation of one or all libraries,
use the Administration > Rule Utility Library
Extractor menu item of the System Management
application. This compiles all libraries on the current
selected node, and on compiles all libraries on each other
node in a cluster at the next system pulse.
- To force compilation of all libraries when a node is next
started, delete the Extract Marker file
PegaRULES_Extract_Marker.txt
. This affects only
the node or nodes where you delete the file.
- To force compilation of all libraries every time a
node is started, set the
extractLibraries
value
in the prconfig.xml
file:
<env
name="Initialization/extractLibraries"
value="true" />
Your current RuleSet list is
not relevant when you generate a library. The system compiles
all versions of each function in the library. At runtime, users
execute a version appropriate to their own RuleSet list.
Deleting a library
When you delete a library rule with the Delete () toolbar button, the system also
deletes all function rules in the library (of all RuleSet
Versions for the RuleSet ), and the assembled
and Java-compiled functions in the library. In a multinode
cluster, if you delete a library rule, the system pulse
processing performed by the Pega-RULES agent on other nodes
deletes the library and functions.
Overriding a standard function
To override a standard function:
- Create a library in your application RuleSet with the
same name as the standard library that contains the
function.
- Use Save As to copy the standard function into your
library, retaining the function name.
- Update the function Java code as desired, being careful
to consider the effect of your changes on existing calls to
the function.
Do not reference or override
any function or library in the Pega-WB RuleSet;
they are reserved. The names and capabilities of these
functions are subject to change.
Regenerating one or all libraries
You can extract and compile libraries through any of several
facilities:
- After you upload one or more function
rules into a Process Commander system (such as through the
Import Archive tool), the functions are not available until
they are extracted from the rules into .JAVA files,
assembled, and compiled. Select the Compile
Library check box on the Import Archive from ZIP
form to compile them on the current node.
- You can use the Administration > Rule Utility
Library Extractor menu on the System Management
application to force re-extraction and recompilation of all
functions in all libraries on all nodes.
- At startup, the system examines the
PegaRULES_Extract_Marker.txt
file to determine
whether to re-extract libraries from the PegaRULES database.
When necessary, you can force extraction and recompilation of
all functions in all libraries (on the current node).
- Stop the application server on the node.
- Delete the text file
PegaRULES_Extract_Marker.txt
file. - Restart the application serve. The system adds an
INFO line to the Pega log noting the re-extraction. In
a multinode system, repeat this on each node.
No check out, always available
Change library rules with
care, noting these restrictions:
- Check-out () and
Restore () operations
are not available for library rules, even for RuleSets with
the Use check-out? box selected.
- Library rules are always available. You cannot change the
availability of a library rule to
No/Draft Mode
,
Blocked
, Withdrawn
, or
Final
. (However, you can change the availability
of functions in the library, and then recompile the
library.)
About Library rules