Database rows per xml is the maximum number of payloads per BPEL instance. For ex: If it is set as ‘1’ then for every record there will be a BPEL instance. If it is set as ‘5’ then for every 5 record there will be one BPEL instance
Database rows per transaction sets the number of records polled per transaction.
Order by will choose order the records in ascending order.The best practice is to choose <No Ordering>, as message ordering regardless is not guaranteed without extra configuration.
Delay commit This will delay the deletion of all rows until all have been read.
Distributed Polling will be used during the clustered environments. This will avoid the creation of multiple instances of BPEL. Means it will avoid the possibility of picking the same record multiple times in a clustered environment.
Use batch destroy Use this to delete all rows at once after they have been read.
Scenario: Select the records one by one ordered by some field from the source database in a clustered environment
In the Interaction Options, specify the interaction options, as follows:
GetActiveUnitOfWork, setting that forces all invoke activities in the same global transaction to use the same SQL connection if going to the same database. This makes it easier to guarantee that later invoke activities can see the changes of earlier invoke activities, but you may not need to set this at all (if using emulated two-phase commit, it should automatically be the same connection). Another difference is that for
Detect Omissions allows the
Optimize Merge should always be set to true, as it is a general enhancement to
Database rows per transaction sets the number of records polled per transaction.
Order by will choose order the records in ascending order.The best practice is to choose <No Ordering>, as message ordering regardless is not guaranteed without extra configuration.
Delay commit This will delay the deletion of all rows until all have been read.
Distributed Polling will be used during the clustered environments. This will avoid the creation of multiple instances of BPEL. Means it will avoid the possibility of picking the same record multiple times in a clustered environment.
Use batch destroy Use this to delete all rows at once after they have been read.
Scenario: Select the records one by one ordered by some field from the source database in a clustered environment
In the Interaction Options, specify the interaction options, as follows:
GetActiveUnitOfWork, setting that forces all invoke activities in the same global transaction to use the same SQL connection if going to the same database. This makes it easier to guarantee that later invoke activities can see the changes of earlier invoke activities, but you may not need to set this at all (if using emulated two-phase commit, it should automatically be the same connection). Another difference is that for
MERGE
and INSERT
, all changes are not written until the global transaction commits, so this setting also changes the timing of when WRITE
operations occur.Detect Omissions allows the
MERGE
and INSERT
operations to ignore empty or missing XML elements in the input payload. For a MERGE
operation, this will prevent valid but unspecified values from being overwritten with NULL. For INSERT
operations, they will be omitted from the INSERT
statement, allowing default values to take effect.Optimize Merge should always be set to true, as it is a general enhancement to
MERGE
performance (using an in query for the primary key existence check