What's New In 3.9?
Introducing the Executor Bus Binding
The 3.9 release introduces a new type of bus, the executor bus, which allows work to be 'sent' to another thread for either intensive processing or for easy outbound gateway authoring.
- Outbound gateways: send an outbound message to executor bus thread that performs a send or export to an outbound system.
- Analytically intensive processing: Do computationally intensive work without tying up the application's main processing thread.
The executor bus provides the application with a handle to an Acknowledger callback which ensures that processing is completed even in the event of failure.
See the Executor Binding documentation for additional details.
Easier Inbound Gateways
The 3.9 release makes it even easier to author inbound gateways to bridge from external systems in a guaranteed fashion.
New: The AepSendStabilityEvent
- This event allows threads injecting messages into an application from an external source to be asynchronously notified when the platform can guarantee its processing will be completed.
- Provides the ability to attach correlation data to the injected message to allow inbound threads to acknowledge upstream.
See Unsolicited Sends for additional details.
Configurable Message Routing Functions
This release introduces channel key functions which can be defined in configuration decoupled from application logic to allow for dynamic content based message routing.
The above config driven uses a hash function to partition new-orders traffic across 20 partitions (Events/1 through Events/2), all without having to change a line of application code.
See Channel Keys and Topic Resolution for additional details.
Improvements and Bug Fixes
And as always many general improvements and bug fixes.
Below is a listing of 3.9 Milestones and links to their release notes:
- X Platform 3.9.1 — Release Date: August 6th, 2018
- X Platform 3.9.0 — Release Date: May, 16th 2018
- 3.9 Milestones — This page lists milestone release notes for X Platform 3.9. Milestone releases contain functionality that is expected to make it into an actual release but are not intended for use in production and are not supported. The milestone builds here may be deleted in the future.