For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.


const start = () => {
  const bus = await Bus.configure()
    .withHandler(
      ChargeCreditCard,
      async () => await bus.publish(new CreditCardCharged())
    )
    .initialize()
  await bus.start()
  
  await bus.send(
    new ChargeCreditCard(),
    { correlationId: 'cd091b26-f0e6-43fb-9962-c06786948e26' }
  )
}

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.

Last updated