Correlation id
An identifier that can be used to relate or correlate messages together. This value is sticky meaning that when a message is received with a correlation id, any messages that are sent as a result will contain the same correlation id.
Correlation ids are a useful mechanism for logging and tracking message flows through the system. They're also the default mechanism to correlate messages orchestrated by workflows to continue the next step in a process.
1
​
2
const start = () => {
3
const bus = await Bus.configure()
4
.withHandler(
5
ChargeCreditCard,
6
async () => await bus.publish(new CreditCardCharged())
7
)
8
.initialize()
9
await bus.start()
10
11
await bus.send(
12
new ChargeCreditCard(),
13
{ correlationId: 'cd091b26-f0e6-43fb-9962-c06786948e26' }
14
)
15
}
Copied!
In this example, a ChargeCreditCard command is being sent with a correlation id ('cd091b26-f0e6-43fb-9962-c06786948e26').
This will be handled and an event called CreditCardCharged published as a result. This event will have a correlation id of the same value.
Copy link