A message channel is a logical channel in a messaging system. That is, sending messages to different message channels provides an elementary way of sorting messages into different message types. Message queues and message topics are examples of message channels. You should remember that a logical channel is not the same as a physical channel. There can be several different ways of physically realizing a logical channel.
In Apache Camel, a message channel is represented by an endpoint URI of a message-oriented component as shown in Figure 4.2, “Message Channel Pattern”.
Figure 4.2. Message Channel Pattern
The following message-oriented components in Apache Camel support the notion of a message channel:
ActiveMQ JMS AMQPIn ActiveMQ, message channels are represented by queues or topics. The endpoint URI for a specific queue, QueueName, has the following format:
activemq:QueueNameThe endpoint URI for a specific topic, TopicName, has the following format:
activemq:topic:TopicNameFor example, to send messages to the queue, Foo.Bar, use the following endpoint URI:
activemq:Foo.BarSee for more details and instructions on setting up the ActiveMQ component.
The Java Messaging Service (JMS) is a generic wrapper layer that is used to access many different kinds of message systems (for example, you can use it to wrap ActiveMQ, MQSeries, Tibco, BEA, Sonic, and others). In JMS, message channels are represented by queues, or topics. The endpoint URI for a specific queue, QueueName, has the following format:
jms:QueueNameThe endpoint URI for a specific topic, TopicName, has the following format:
jms:topic:TopicNameSee for more details and instructions on setting up the JMS component.
In AMQP, message channels are represented by queues, or topics. The endpoint URI for a specific queue, QueueName, has the following format:
amqp:QueueNameThe endpoint URI for a specific topic, TopicName, has the following format:
amqp:topic:TopicNameSee for more details and instructions on setting up the AMQP component.