Errors frequently occur when processing records in transactional applications. Often times the underlying issue causing the error is transient, for example a remote system might be briefly offline or temporary network latency may cause a timeout. In these scenarios, frameworks like Mule and Spring have the ability to backoff and retry the operation until the underlying issue resolves itself.
Malformed Messages Caught in the Queue - Dead Letter Queue (DLQ)
When these errors occur because of a semantic issue with the record itself, however, the record will never be processed. A malformed XML payload or a CSV record with an invalid SKU, for example, will keep failing no matter how many times its retried.
Discarding these records generally isn’t an option because they have business or financial significance. Ideally we want to store these messages somewhere so we can fix them later on. The Dead Letter Queue (DLQ) is a well documented EIP pattern to deal with this use case.
OmnInitio-Batch - Taking Control of Your Queues and Batch Processes
Correcting records off the DLQ and resubmitting for processing, however, can be a non-trivial process. This is why Omni3 has introduced OmnInitio-Batch - giving organizations the capability to ingest, correct, version and resubmit failed records over a variety of messaging channels.
OmnInitio-Batch subscribes to multiple DLQ’s and allows technical as well as non-technical users to correct failed records and resubmit them for re- processing. It can optionally track and version message payloads for historical and auditing purposes using a temporal database. OmnInitio-Batch is delivered as a REST-ful API with the following interaction mechanisms:
- A reactive web interface
- a Salesforce Lightning application to manage and correct failed records
- A command line administrative utility
- An embedded, temporal database to track and audit historical message payloads
It is able to ingest records from a variety of messaging brokers, including JMS, Kafka, AMQP and AnypointMQ. OmnInitio-Batch is shipped as a standalone Java application and can be easily deployed on premise, on a cloud provider or within a private cloud / platform as a service via a lightweight Docker container.
For more information or for a trial, please email email@example.com . We look forward to hearing from you!