payload saver

Payload Saver

Version: 17.07

Supported Since: 17.01

What is an Payload Saver?

A Payload Saver is a processing element which can be used to save the message payload to a file in local file system.

In order to use this processing element, you must first select the Payload Processors 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 Payload Processors dependency.

Alternatively, you can add the following dependency to the maven pom.xml manually.

<dependency>
    <groupId>org.adroitlogic.x.processors</groupId>
    <artifactId>x-processor-payload</artifactId>
    <version>17.07</version>
</dependency>
payload saver outports

Out Ports

Next

The message will be sent to this outport if the payload saving operation is successful

On Exception

The message will be sent to this outport if the processing element failed in saving message payload to file

Parameters

File Path*

Basic

File Path represents the local file system path to save the payload. File Path can be either absolute or relative.

Following place holders can also be used when giving the file path. Relevant values for the place holders will be extracted from the message context.

  • @{variable.<variable_name>} - to get value from a variable

  • @{message.id} - to get the message id

Few examples are as follows.

  • /tmp/payload-@{message.id}.csv - preparing path appending message id

  • /tmp/payload_@{variable.my_var}.csv - preparing path appending value of variable my_var

  • /tmp/@{variable.my_var}/payload-@{message.id}.csv - preparing path appending value of variable my_var and message id

  • /tmp/csv_payload.csv - simply a string path without the use of any place holder

Further following place holder can be used to get the current timestamp.

  • @{current.timestamp} - this will use the default timestamp pattern yyMMddHHmmssZ

  • @{current.timestamp.<timestamp_pattern>} - this will use the given timestamp pattern. Note that timestamp pattern given here should be a pattern compatible with SimpleDateFormat.

Sample Use Case

In the following use case we have a flow which starts with a NIO HTTP Ingress Connector and ends with a NIO HTTP Egress Connector. In the middle we have used Payload Saver to save payload to a file. Complete flow for the use case is shown below.

payload saver flow

Configuration for the Payload Saver element is as follows.

payload saver conf
In this topic
In this topic
Contact Us