EAI Patterns in JBoss Fuse

Messaging Systems

  1. Message Channels
  2. Message
  3. Pipes and Filters
  4. Message Router
  5. Message Translator
  6. Message Endpoint

Messaging Channels

  1. Point to Point
  2. Publish Subscribe
  3. Dead Letter Channel
  4. Guaranteed Delivery
  5. Message Bus

Message Construction

  1. Event Message
  2. Request / Reply
  3. Correlation Identifier
  4. Return Address

Message Routing

  1. Content Based Router — How do we handle a situation where the implementation of a single logical function (e.g., inventory check) is spread across multiple physical systems?
  2. Message Filter — How can a component avoid receiving uninteresting messages?
  3. Dynamic Router — How can you avoid the dependency of the router on all possible destinations while maintaining its efficiency?
  4. Recipient List — How do we route a message to a list of (static or dynamically) specified recipients?
  5. Splitter — How can we process a message if it contains multiple elements, each of which may have to be processed in a different way?
  6. Aggregator — How do we combine the results of individual, but related messages so that they can be processed as a whole?
  7. Resequencer — How can we get a stream of related but out-of-sequence messages back into the correct order?
  8. Composed Message Processor — How can you maintain the overall message flow when processing a message consisting of multiple elements, each of which may require different processing?
  9. Scatter-Gather — How do you maintain the overall message flow when a message needs to be sent to multiple recipients, each of which may send a reply?
  10. Routing Slip — How do we route a message consecutively through a series of processing steps when the sequence of steps is not known at design-time and may vary for each message?
  11. Throttler — How can I throttle messages to ensure that a specific endpoint does not get overloaded, or we don’t exceed an agreed SLA with some external service?
  12. Sampling — How can I sample one message out of many in a given period to avoid downstream route does not get overloaded?
  13. Delayer — How can I delay the sending of a message?
  14. Load Balancer — How can I balance load across a number of endpoints
  15. Hystrix — To use Hystrix Circuit Breaker when calling an external service.
  16. Service Call — To call a remote service in a distributed system where the service is looked up from a service registry of some sorts.
  17. Multicast — How can I route a message to a number of endpoints at the same time?
  18. Loop —

Message Transformations

  1. Content Enricher
  2. Content Filter
  3. Claim Check
  4. Normalizer
  5. Sort
  6. Script
  7. Validate

Message Endpoint

  1. Messaging Mapper
  2. Event Driven Consumer
  3. Polling Consumer
  4. Competing Consumer
  5. Message Dispatcher
  6. Selective Consumer
  7. Durable Subscriber
  8. Idempotent Consumer
  9. Transactional Client
  10. Messaging Gateway
  11. Service Activator

System Management

  1. Control Bus
  2. Detour
  3. Wiretap
  4. Message History
  5. Log



One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.