Messaging Endpoints

Transactional Client

Group message operations and related state changes into a transaction boundary so work is committed or rolled back consistently.

transactionatomicityoutbox
The problem
How can a client control its transactions with the messaging system?
Adapted from Enterprise Integration Patterns under CC BY 3.0. The visualization and explanatory content on this page are original GateSift material.
Original GateSift visualization

How Transactional Client works

A dedicated endpoint hides transport details from the application that sends or receives messages.

Channel
Transactional Client
Application
1

Connect to the messaging channel through an adapter, client or connector.

2

Apply Transactional Client to encapsulate delivery, consumption and transport concerns.

3

Expose a simpler application-facing contract and operational boundary.

GateSift explanation

What this pattern helps you decide

Group message operations and related state changes into a transaction boundary so work is committed or rolled back consistently.

What happens when processing fails or the same message is delivered twice?
Where does state, correlation or routing configuration live?
How will operators trace the message and understand the decision path?
Common Azure implementations

Where you may see it

  • Service Bus transactions
  • Outbox pattern with SQL
  • BizTalk atomic transactions
GateSift relevance

How the analyzers can surface it

  • Transaction and ordered-delivery settings
  • Send-on-failure behavior

Pattern detection is contextual. GateSift should present these as architectural signals, not claim a pattern is implemented solely because one policy statement or adapter exists.

Source, licence and attribution

The pattern name and selected problem statement are adapted from Enterprise Integration Patterns by Gregor Hohpe and Bobby Woolf under CC BY 3.0. GateSift summaries, Azure mappings, analyzer guidance and diagrams are original. No endorsement by the original authors is implied.

Back to pattern library