1. Home
  2. GLU.Guide
  3. Integration Builder
  4. Request Manager
  5. Splitting an array and parallel processing
  1. Home
  2. GLU.Guide
  3. Integration Builder
  4. Splitting an array and parallel processing

Splitting an array and parallel processing

1 Splitting an Array


It is possible to take a large payload and use the Splitter function to break it up into multiple elements to be orchestrated.

In the example below we will take a payload and store each element in a table of a database.

1.1 Body Payload

See below this simple array.

{

   "report": [
       {
           "reportLine": {
               "glcode": "AG82652-3635",
               "name": "Sticky Buns",
               "balance": "500"
           }
       },
       {
           "reportLine": {
               "glcode": "AG82634-3635",
               "name": "Iced Donuts",
               "balance": "2800"
           }
       }
   ]

}

This is an array called “report” containing elements made up of a class called “reportLine”.

1.2 Target Table

The target table structure will look like this.

We will insert each element of the array into a separate row of the table.

With each element of the class being inserted into the relevant column name.

glCodeNameBalance
AG82652-3635Sticky Buns500
AG82634-3635Iced Donuts2800

1.3 Console Configuration

1.3.1 Request Parameters setup

To configure the marshaling set up the Request Parameters as per the example below. The Object / Collection path stipulates the path within which to find and store the class element being unmarshalled called ‘glcode’.

1.3.1.1 Properties

1.3.1.2 Unmarshaling

1.3.2 Handler setup

To orchestrate each element a Handler must be set up to splitting the incoming payload.

Refer to the numbered diagram and the table that follows to see how to set up your Splitter Handler.

1.3.2.1 Handler Parameters

ParameterConsole LabelExample ValueDescription
1Parameter, None, ExpressionNoneTo show the splitter options this needs to be set to ‘None’.
2ACTIONROUTE TOIndicates how the splitter will be used.
3Not from listNot tickedBETA description to follow.
4FLOW CODE: Choose the flow code of the orchestration which will be triggered for each element of the arraysplitterRoute944482Flowcode of the orchestration which will be executed
5ENABLE THREAD POOL: FALSEFALSESee Throttle Type 2: Concurrent Requests using Thread Pools
6SplitterSelect this to call the flow code for each element in the array
7Parallel ProcessingNot tickedIf this is ticked then each orchestration will be run in parallel. To be used to speed up the processing.
8StreamingNot tickedBETA description to follow.
9Stop on ExceptionNot tickedBETA description to follow.
10Skip FirstNot tickedBETA description to follow.
11TIMEOUT0BETA description to follow.
12DELIMITERBlankTo be used for SFTP, FTP, and FILE functions see FTP / SFTP Connectors & FTP/S
13Concatenate responseUN TICKEDTick if the response from each of the Orchestration of the elements needs to be returned back as a Response to the API
14unlabelledreportProvide the name of the array (as defined in the Request Parameters
15COMBINED ROUTEBLANKBETA description to follow.

1.3.3 ENDPOINT MANAGER PANEL

Each element of the array will be written to a database with 1 row per element of the array.

The following shows the setup of the ENDPOINT MANAGER PANEL

1.3.4 REQUEST MANAGER PANEL

The following shows the setup of the REQUEST MANAGER PANEL.

With a mySQL DB connector setup to insert rows into a table.

insert into report(glCode,Name,Balance) value (${glcode},${name},${balance})  

1.3.5 RESPONSE MANAGER PANEL

Remember to add the correct Response Manager properties.

This will fail if Response Manager panel is not complete.

Please refer to Response Manager for further details on how to complete the response manager panel.

Parallel Processing

When parallel processing is enabled, the Splitter uses a thread pool to process the messages concurrently. The thread pool is, by default, configured to use 10 threads, making it up to 10 times faster.

Was this article helpful?

Related Articles

Fill the form and we’ll contact you shortly

    I agree with

    cookies
    We uses cookies to make your experience on this website better. Learn more
    Accept cookies