📘
@node-test/bus
  • @node-ts/bus
  • Getting started
    • Installation
    • Handling messages
    • Shutting down cleanly
  • Reference
    • Bus
    • BusConfiguration
    • BusInstance
  • Getting help
  • Guide
    • Messages
      • Events
      • Commands
      • System messages
    • Message attributes
      • Correlation id
      • Attributes
      • Sticky attributes
    • Workflows
      • Creating a workflow
      • Starting
      • Handling
      • State
      • Completing
      • Example
    • Transports
      • RabbitMQ
      • Amazon SQS
      • Redis
      • Custom transports
    • Persistence
      • Postgres
      • MongoDB
      • Creating a persistence
    • Serializers
      • Class serializer
    • Loggers
      • Custom loggers
    • Middleware
    • Lifecycle hooks
    • Retry Strategies
    • Dependency injection
    • Long running processes
Powered by GitBook
On this page

Was this helpful?

  1. Guide
  2. Message attributes

Correlation id

PreviousMessage attributesNextAttributes

Last updated 3 years ago

Was this helpful?

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 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.

workflows