Products | Versions |
---|---|
TIBCO Fulfillment Order Management | - |
Not Applicable | - |
Description:
If maxNoStateMachinesLoadedinMemory property is unlimited, the java.lang.OutOfMemoryError may be reported. In the heap dump, the following will be logged:
"com.tibco.aff.oms.server.jms.orch.statemachine.OrchestratorMemoryCache" loaded by "org.apache.catalina.loader.WebappClassLoader @ 0x680002930" occupies 4,611,488,624 (92.25%) bytes. The memory is accumulated in one instance of "java.util.concurrent.ConcurrentHashMap$Segment[]" loaded by "<system class loader>".
Property in $AF_HOME/config/ConfigValues_OMS.xml
<ConfValue
description="Maximum number of StateMachines instances to be kept in
Heap Memory" isHotDeployable="true" name="Max No of StateMachines in
Heap Memory"
propname="com.tibco.fom.orch.maxNoStateMachinesLoadedinMemory"
readonly="false" sinceVersion="2.1" visibility="Basic">
<ConfString default="0" value="500"/>
</ConfValue>
Value 0 is unlimited. StateMachine holds plan information. Plan item dependencies, milestones status, plan item status and order status. Plan size has to be taken into consideration when setting this value. If the value is small, performance could be affected as FOM will have to retrieve information from the database. Optimal value will have to be identified by the user during performance testing. In the logs can be seen the StateMachine size. "Size of mapStateMachine : 2".