DB Polling Issue in Cluster
DB Polling is always a challenging requirement. Often we encounter various issues with polling, be it not picking up the record or not updating the status. Some times we can see there are duplicate BPEL instances created for the same record.
The duplicate instances mainly happens in clustered environment where as each node will try to poll the same record.
This can be avoided in two ways
- One by choosing the Distributed Polling option while configuring the DB Adapter. Once this is selected it means the record is locked by the reading instance. No other instance can read the record. In that way duplicate instances can be avoided
- The second approach is to set a singleton parameter for the JCA in the composite.xml
<binding.jca config="triggerTransaction_db.jca">
<property name="singleton">true</property>
</binding.jca>
In this case too only one node will poll the record and duplicates will be avoided.