Messaging Endpoints

Competing Consumers

Create multiple Competing Consumers on a single channel so that the consumers can process multiple messages concurrently.

Durable Subscriber

Use a Durable Subscriber to make the messaging system save messages published while the subscriber is disconnected.

Event-Driven Consumer

The application should use an Event-Driven Consumer, one that is automatically handed messages as they’re delivered on the channel.

Idempotent Receiver

Design a receiver to be an Idempotent Receiver--one that can safely receive the same message multiple times.

Message Dispatcher

Create a Message Dispatcher on a channel that will consume messages from a channel and distribute them to performers.

Message Endpoint

Connect an application to a messaging channel using a Message Endpoint, a client of the messaging system that the application can then use to send or receive messages.

Messaging Gateway

Use a Messaging Gateway, a class than wraps messaging-specific method calls and exposes domain-specific methods to the application.

Messaging Mapper

Create a separate Messaging Mapper that contains the mapping logic between the messaging infrastructure and the domain objects. Neither the objects nor the infrastructure have knowledge of the Messaging Mapper's existence

Polling Consumer

The aplication should use a Polling Consumer, one that explicitly makes a call when it wants to receive a message.

Selective Consumer

Make the consumer a Selective Consumer, one that filteres the messages delivered by its channel so that it only receives the ones that match its criteria.

Service Activator

Design a Service Activator that connects the messages on the channel to the service being accessed.

Transactional Client

Use a Transactional Client—make the client’s session with the messaging system transactional so that the client can specify transaction boundaries.