Thursday, October 1, 2015

Detect and Handle(Terminate) Infinite loop in javascript IBM BPM

Termination of a infinite loop inside a java snippet inside a bpd is possible in 8.5.5 and later versions

Modify 100Custom.xml file of your process center process server installation.
Location:
Network Deployment Cluster - 
                         --> Profile_Root/config/cells/cell_name/clusters/cluster_name/server_type/config/100Custom.xml.

Network Deployment Single Cluster - 
             --> Profile_Root\config\cells\PCCell1\nodes\Node1\servers\server1\process-center\config/100Custom.xml

Update the 100Custom.xml with below xml

<?xml version="1.0" encoding="UTF-8" ?>

<properties>
<common>
   <javascript-engine>
          <loop-detection-duration marge="replace">90</loop-detection-duration/>
          <enable-javascript-execution marge="replace">true</enable-javascript-execution/>
     </javascript-engine>
</common>
</properties>

Restart the server.

verify the configuration
Location:
PROFILE_ROOT\config\cells\PCCell1\nodes\Node1\servers\server1\process-center\TeamWorksConfiguration.running.xml

make sure that settings have made.

This will terminate if any infinite loop found in javascript

I Fixes are avialble for other versions as well