Documentation for a newer release is available. View Latest

Bulk Producer

The Bulk Producer is responsible for subscribing to the stream of bulk components provided by the Joiner and writing each one to a supported File Writer resulting in the production of a bulk file.

The bulk file will be output to a location as specified in the bulk configurations, where each configuration entry could have its own output location.

Relevant configuration is described below:

Config Type Default Comment

ipf.bulker.output.file-system

String

local

Property that defines the location that the output bulk file will be streamed to.

Valid values are s3 or local

ipf.bulker.configurations[0].file-path

String

N/A

Property that defines the directory or S3 bucket the files will be streamed to on the file system specified above.

Example:

ipf.bulker {
  output.file-system = "local"
  configurations = [
    {
      name = "pain.001.001.09"
      file-name-prefix = "bulk-"
      file-path = "/tmp/bulks"
      component-hierarchy {
        component-parser-name = "xml"
        marker = "Document"
        children = [
          {
            marker = "CstmrCdtTrfInitn.PmtInf"
            children = [
              {
                before-elements = ["SplmtryData"]
                marker = "CdtTrfTxInf"
              }
            ]
          }
        ]
      }
      auto-close-triggers = ["customAutoCloseTrigger"]
      maximum-component-size = 50
      scheduled-auto-close = {
        auto-close-by-age = 30s
        schedule-at = "*/10 * * ? * *"
      }
      finalise-on-auto-close = true
    }
]
}

Retries

If there is a system crash whilst a bulk file is being produced then on restart the file production process will be retried.

If at any point during the bulk file production process an exception is encountered a system event will be raised allowing for a manual intervention process to take place. In this scenario the problem bulk file detailed in the event should be removed manually before attempting to finalising the bulk again.