result set updater

Result Set Updater Processor

Version: 17.07

Supported Since: 17.07

What is Result Set Reader Processor?

The Result Set Updater processing element can be used update values of a result set which should be passed as a scope variable to this processing element. The value to be used to update can be configured to extract either from Variable, Messge Property, Transport Header or using No Extraction method. This is a utility processing element to facilitate row lock processing for a database table and it should be used in between "Row Lock Scope Start" and "Row Lock Scope End" processors. This processing element can be configured to update any column value by providing column name, column data type and value extraction type to used to extract a value to update the given column.

In order to use this processing element, you must first select the Database Operations dependency from the processor list when you are creating an empty Ultra project. If you have already created a project, you can add this dependency via Component Registry. From Tools menu, select Ultra Studio → Component Registry and from the Processors list, select the Database Operations dependency.

result set updater outports

Out Ports

Next

Message will be forwarded to this port after updating the result set from the extracted value as configured by extraction type.

On Exception

The message context will be sent to this outport if any exception occurred while extracting the payload from the message.

Parameters

Result Set Variable Name

Basic

Name of the scope variable that contains the Result Set as value.

  • If this parameter is not set, The processing element will look for a string scope variable with the key result_set.reference.constant.name and if found, its value will be used as the value of this parameter.

  • If such scope variable is also not found, the value result_set.reference will be used as the value of this parameter.

Column Name *

Basic

Name of the column to read the value.

Extraction Type *

Basic

Defines how the value for the variable should be extracted.

  • VARIABLE - The value of a scope variable should be used to update the result set

  • HEADER - The value of a message transport header should be used to update the result set

  • PROPERTY - The value of a message property should be used to update the result set

  • NO_EXTRACTION - The value for the variable will be directly provided, hence extraction is not necessary

Value *

Basic

Depending on the selected Extraction Type, the definition of this parameter varies.

  • VARIABLE - In this case the value of this parameter should be the name of the scope variable

  • HEADER - In this case the value of this parameter should be the name of the transport header

  • PROPERTY - In this case the value of this parameter should be the name of the message property

  • NO_EXTRACTION - In this case the value of this parameter should be the exact value to be set as the variable value

Column Data Type *

Basic

JDBC data type of the column to be updated.

Sample Use Case

In this documentation, it’s used the same sample use case which has been used in Row Locking Processor. In this use case, the requirement is to do a database update with multiple threads by polling the database to select possible candidates for the update. A single row should be updated by a single thread to make sure the consistency of the database. Because of that it’s required to get a row lock of a row before starting process and then do required update and mark it as a processed row to make sure that it won’t be picked up for later.

row lock starting processor1

In this flow a Result Set Updater processing elements is configured to update a column using a value extracted from message as per the configured values.

In this topic
In this topic
Contact Us