Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

15.5 Builds upon the 15.1 branch and includes many improvements, fixes, and new features. If you are upgrading from a pre-15.1 environment, please have a look at the changes made in 15.1.

...

Batch processing uses a new interface and function to allow the processing of a batch of messages. A collection of messages is passed to the device, and the implementer can decide on how best to deal with them. In some cases you may want to pass the entire collection of messages in a single call (for example, a web service that takes an array of messages), or, you may want to process the messages individually in parallel.

Please note that batch mode (threading / asynchronous programming) is an advanced feature that requires care! Read more about batch processing.

Info

Example

A device which has support for Batch processing is the Remote Agent Sender device. This device brokers messages between Connexion and Remote Agents. Initial implementations of this device sent one message-at-a-time and therefore had a maximum processing speed capped by the latency of the connection. Even on fast connections, this capped throughput at around 40 messages per second.

To overcome this limit, a custom batching mechanism was implemented which cached the messages into a local file and then periodically sent that batch of messages. This resulted in a 10x throughput improvement but required a fairly complex caching mechanism.

When operating in batch mode, this device receives a collection of messages off the queue and can instantly send this batch without any custom caching mechanism. This mode is slightly faster (than custom caching) with much lower complexity and latency.

Message Tracing

In large/complex deployments of Connexion (often including Remote Agents), it can be challenging to determine the path a message followed from origin to destination. ‘Message Tracing’ has been added to 15.5 to simplify this task.

Learn about Message Tracing