Additional options within the [Java-n] section
of the Agentry.ini file are provided to allow the implementors,
administrators, and developers of an application control over the
behavior of the JVM run by the Agentry
Server.
These settings can be modified using the SAP Control Center. Before
modifying these items be sure to review both the following descriptions,
and also any information provided with the Java components installed
to the Agentry
Server’s
host system.
Following is a list of these settings and descriptions of their
purpose and areas of behavior affected:
- printStackTrace -
This option may be set to true or false. By default, any exceptions
thrown by the Java logic are logged to the events.log file
for the Agentry
Server.
Setting this option to true will also include the
stack trace for that exception in this same log file.
- printBusinessLogicStackTrace - This option
may be set to true or false. A
special exception class, JavaBusinessLogicError,
is provided with the Agentry Java API. Developers may write logic
to throw this exception in certain circumstances. The printBusinessLogicStackTrace allows
for the stack trace of this exception to be displayed on the transmit
dialog of the Agentry
Client.
This functionality is provided primarily for development testing
and debugging, and should only be set to true for
these purposes.
- initialHeapSize -. This configuration setting
provides the same behavior as the -Xms JVM parameter.
If this parameter is specified in the nonStandardJavaOptions,
the initialHeapSize setting should be omitted from
the [Java-n] section. This option is set to a numeric
value and represents the initial amount of memory in megabytes to
be allocated by the JVM for the initial heap. If not specified the
default value is 2MB. This should be set based entirely on the needs
of the application. Also, restrictions related to the amount of
memory that may be specified may differ from one version of Java
to the next, and these restrictions should be reviewed prior to
setting this option.
- maxHeapSize - This configuration setting provides
the same behavior as the -Xmx JVM parameter. If
this parameter is specified in the nonStandardJavaOptions,
the maxHeapSize setting should be omitted from
the [Java-n] section. This option is set to a numeric
value and represents the maximum amount of memory to be allocated
by the JVM, in megabytes, for the heap. The default value is 64MB
if not specified. This should be set based entirely on the needs of
the application. If heap memory exceeds this limit, an error will
be encountered on the Agentry
Server.
Also, restrictions related to the amount of memory that may be specified
may differ from one version of Java to the next, and these restrictions
should be reviewed prior to setting this option.
- reduceOSSignalUse - This option may be set
to true or false. When true,
and only when the Agentry
Server is
running as a Windows Service, the JVM will remain running after
the Agentry
Server service
is stopped. When the service is restarted, it will not start a new
instance of the JVM, but use the one currently running. True is
the recommended setting for this option whenever the Server is run
as a Windows Service.
- nonStandardJavaOptions - This configuration
option contains text representing the JVM parameters (command line
options) sent to the JVM when started by the Agentry
Server.
The options here may be any supported by the version of the JVM
in use. Examples may include options related to garbage collection
or debugging options.
- lowMemoryPercentage - This option specifies
a percentage of the maximum heap size. When the available heap memory
allocated by the JVM falls below this percentage, a warning message is
printed to the events.log for the Agentry
Server.
The default value for this option is 5 percent of memory.
- performCompile - This option may be set to true or false and
specifies whether the Steplet, ComplexTable,
and DataTable Java classes of an application should
be compiled every time they are loaded at run time. This option
is likely to be set to false in all production environments,
as changes to these classes occur infrequently. It may be true or false in
the development environment, depending on the nature of changes
performed. Much of the Java logic implemented for an application
is not contained within the Steplet, ComplexTable,
or DataTable classes and changes made may not directly
impact these class implementations within the application. Therefore,
compiling these classes during every transmit is not always necessary.
In such situations this option may be set to false to prevent this
unnecessary processing and improve efficiency.