This content has been archived.

How to reextract libraries and help at startup

Summary

In Version 4.1, you can extract Help files and Rule-Utility-Library instances and functions at startup, as well as manually performing an extraction using the System Console .

Suggested Approach

The following types of files can be extracted by the server at startup time:

  • Help files
  • Rule-Utility-Library instances and functions

During startup, the system checks to see if the following files exist:

  • PegaRULES_default.java
  • PegaRULES_Extract_Marker.txt

If either of these files are missing, then all the libraries are regenerated; the system generates the Java class containing generated code for all the functions in each library.

Alternatively, if the ExtractLibraries setting in the Initialization node of the pegarules.xml file is set to true, then the system generates Java for all libraries upon each startup.

To force the server to extract the Help or library files at startup, delete either or both of the files listed above:

The PegaRULES_Extract_Marker.txt file is located in the PegaRULES web application directory.  This web application directory is stored in a different path, depending upon your web server:

  • For Tomcat:   under webapps \ contextroot directory
  • For WebSphere:   under installedApps \ enterprise application folder\servername \EnterpriseAppname \ contextroot
  • For WebLogic: under user_projects\ domainname\servername \stage \ applicationname\contextroot

The PegaRULES_default.java file is located in the PRGenJava subdirectory.

  • For Tomcat: under work\standalone\localhost\ contextroot \temp\PRGenJava
  • For WebSphere: under Temp\ enterprise application folder \ servername\EnterpriseAppname\contextroot \temp\PRGenJava
  • For WebLogic: under .wlnotdelete\ applicationname_contextroot_random7digits\ public\temp\PRGenJava

When a Process Commander server starts, it looks for these files.  If either of the files are missing, the server runs the extractions.  After extraction completes, the marker file is recreated and the server is ready to accept requests.

Important note: Library generation fails if it references a Java class that is not a package-qualified name.   Referencing a class in the unnamed package from a class contained in a package violates the Java Language Specification, and javac 1.4 marks this error. (Rule-Utility-Library functions are generated into the named package com.pega.pegarules.generated.)

Therefore, do not use third-party classes that are in an unnamed package, as Rule-Utility-Library and Rule-Utility-Function don't have visibility into these.  

For further details, reference JavaBug #4361575 (on java.sun.com) and JikesBug #601 (on www.ibm.com).

PRMonitorServlet

You can also manually extract these files using the PRMonitorServlet.  PRMonitorServlet is an administrative testing servlet which allows you to perform numerous maintenance or diagnostic tasks, such as clearing caches or monitoring requestors.  

To start this servlet, enter the following URL into your Web browser:

http:// nameofserver / ContextRootname /PRMonitorServlet

Example:  

http://Acmeserver/pr3web/PRMonitorServlet    

You can also start this servlet from the desktop, where it is labeled System Console:

On the PRMonitorServlet window, the Extract Files menu choice (under Administration) displays the Help file extractor and the Rule-Utility-Library extractor:

Click ExtractHelp to extract the Help files from the ProComHelp.zip file.

Click ExtractLibraries to extract the libraries from the PegaRULES database and write them to disk on the server.  If only one library is desired, specify the RuleSet and the Library Name of the library to extract in these fields.

Extracting files while user workstations are accessing the server may result in transient client script errors and display problems.
Suggest Edit

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.