Configuring the Enhanced XML Parser
When you configure the enhanced XML parser, you indicate the memory usage limits for the parser and whether or not partitions will overflow to a local disk store or BigMemory when the usage limits are met.
Keep the following information in mind when configuring the enhanced XML parser.
To take advantage of the memory management provided by the enhanced XML parser, you must enable caching. When caching is enabled, the enhanced XML parser uses
Ehcache to limit the amount of heap used for parsing. When caching is not enabled, the enhanced XML parser behaves in much the same way as the legacy XML parser.
If only caching is enabled, the enhanced XML parser uses
Ehcache to move partitions to a local disk store when heap allocation limits are met.
If caching is enabled and
BigMemory is enabled, the enhanced XML parser uses
Ehcache to move partitions to
BigMemory when heap allocation limits are met.
To use
BigMemory with the enhanced XML parser, caching must be enabled. Additionally, the
Integration Server must be equipped with a license to use
BigMemory. To verify that the
Integration Server has a
BigMemory license and to check how much
BigMemory the license authorizes, see
Installing, Viewing, and Changing the
Terracotta License.
To configure the enhanced XML parser
1. Open the Integration Server Administrator if it is not already open.
2. Go to Settings > Enhanced XML Parsing.
3. If you want the enhanced XML parser to use Ehcache for memory management, under Caching, make sure the Enabled property is set to Yes. If Enabled is not set to Yes, click No to change the value. Integration Server Administrator prompts you to confirm enabling the Caching feature. Click OK.
4. If you want the enhanced XML parser to make use of BigMemory (off-heap cache), under BigMemory Caching, make sure the Enabled property is set to Yes. If Enabled is not set to Yes, click No to change the value. Integration Server Administrator prompts you to confirm enabling the BigMemory caching feature. Click OK.
Note:
To use BigMemory with the enhanced XML parser, you must enable caching as well.
5. At the top of the Settings > Enhanced XML Parsing page, click Edit Enhanced XML Parsing.
6. Under Enhanced Parser Settings, in the Default partition size field, specify the default size of the partitions on the heap where the enhanced XML parser stores parsed document information. Add one of the following suffixes to indicate a unit of measure:
k or K for kilobytes
m or M for megabytes
The default is 20k.
Note:Integration Server uses the default partition size when parsing XML documents received by services that specify an xmlFormat of “enhanced”. For more information about xmlFormat, see webMethods Service Development Help. The pub.xml:loadEnhancedXMLNode service and the pub.xml:xmlStringToEnhancedXMLNode service use the default partition size if the services do not specify a value for the partitionSize input parameter.
7. Under Caching, specify the following information:
For this field | Specify |
Maximum heap allocation for all documents combined | Maximum amount of on-heap space that the enhanced XML parser can allocate to process documents concurrently. Add one of the following suffixes to the amount to indicate a unit of measure: k or K for kilobytes m or M for megabytes g or G for gigabytes % to indicate a percentage of the heap space The default is 40% of the heap space available to the JVM. Note: If you do not specify a suffix, Integration Server uses bytes as the unit of measure. When the total heap used by parsed documents exceeds the Maximum heap allocation for all documents combined value, the enhanced XML parser will not begin parsing more documents until heap space becomes available. Additionally, the enhanced XML parser moves some partitions to BigMemory (if BigMemory caching is enabled) or a local disk store (if BigMemory caching is not enabled). Important: Do not set Maximum heap allocation for all documents combined to be 100% of the heap. A value of 100% indicates that there is no limit to the amount of heap the enhanced XML parser can use. If enough documents are parsed simultaneously, the JVM may throw an OutOfMemoryError. |
Maximum heap allocation for any single document | Maximum amount of on-heap space that the enhanced XML parser can allocate to process a single document. Add one of the following suffixes to the amount to indicate a unit of measure: k or K for kilobytes m or M for megabytes g or G for gigabytes % to indicate a percentage of the heap space available to the JVM The default is 20% of the heap space. Note: If you do not specify a suffix, Integration Server uses bytes as the unit of measure. When the total heap used by a single parsed document exceeds the Maximum heap allocation for any single document value, the enhanced XML parser moves some partitions to BigMemory (if BigMemory caching is enabled) or a local disk store (if BigMemory caching is not enabled). Important: Do not set Maximum heap allocation for any single document to be 100% of the heap. A value of 100% indicates that there is no limit to the amount of heap the enhanced XML parser can use. If enough documents are parsed simultaneously, the JVM may throw an OutOfMemoryError. |
8. Under BigMemory Caching, in the Maximum BigMemory allocation field, specify the maximum amount of BigMemory that can be allocated to parsing documents with the enhanced XML parser.
k or K for kilobytes
m or M for megabytes
g or G for gigabytes
The default is 200m.
Note:
If you do not specify a suffix, Integration Server uses bytes as the unit of measure.
When the partitions in BigMemory exceed the limit set by the Maximum BigMemory allocation value, the enhanced XML parser throws an UnxepectedCachingException.
9. Click Save Changes.
Changes do not take effect immediately. Changes will take effect when there are no references to any of the parsed documents produced by the enhanced xml parser.