Message Construction

Message Expiration

Attach a time-to-live or expiry timestamp so stale work is removed or diverted instead of producing outdated side effects.

ttlexpirystale
The problem
How can a sender indicate when a message should be considered stale and thus shouldn’t be processed?
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 Message Expiration works

The pattern introduces a clear integration responsibility between message production and consumption.

Producer
Message Expiration
Consumer
1

Receive or create the message at the integration boundary.

2

Apply Message Expiration to solve the recurring design problem.

3

Continue the message flow with clearer responsibilities and lower coupling.

GateSift explanation

What this pattern helps you decide

Attach a time-to-live or expiry timestamp so stale work is removed or diverted instead of producing outdated side effects.

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 TimeToLive
  • Event Grid event TTL
  • APIM cache or token expiry
GateSift relevance

How the analyzers can surface it

  • TTL and timeout settings
  • Stale-message handling

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