Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.Este conteúdo não está disponível no idioma selecionado.
6.2. Publish-Subscribe Channel
Overview Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
A publish-subscribe channel, shown in Figure 6.2, “Publish Subscribe Channel Pattern”, is a message channel that enables multiple subscribers to consume any given message. This is in contrast with a point-to-point channel. Publish-subscribe channels are frequently used as a means of broadcasting events or notifications to multiple subscribers.
Figure 6.2. Publish Subscribe Channel Pattern
Components that support publish-subscribe channel Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
The following Apache Camel components support the publish-subscribe channel pattern:
JMS Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
In JMS, a publish-subscribe channel is represented by a topic. For example, you can specify the endpoint URI for a JMS topic called
StockQuotes
as follows:
jms:topic:StockQuotes
jms:topic:StockQuotes
See Jms in the Apache Camel Component Reference Guide for more details.
ActiveMQ Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
In ActiveMQ, a publish-subscribe channel is represented by a topic. For example, you can specify the endpoint URI for an ActiveMQ topic called
StockQuotes
, as follows:
activemq:topic:StockQuotes
activemq:topic:StockQuotes
See ActiveMQ in the Apache Camel Component Reference Guide for more details.
XMPP Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
The XMPP (Jabber) component supports the publish-subscribe channel pattern when it is used in the group communication mode. See Xmpp in the Apache Camel Component Reference Guide for more details.
Static subscription lists Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
If you prefer, you can also implement publish-subscribe logic within the Apache Camel application itself. A simple approach is to define a static subscription list, where the target endpoints are all explicitly listed at the end of the route. However, this approach is not as flexible as a JMS or ActiveMQ topic.
Java DSL example Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
The following Java DSL example shows how to simulate a publish-subscribe channel with a single publisher,
seda:a
, and three subscribers, seda:b
, seda:c
, and seda:d
:
from("seda:a").to("seda:b", "seda:c", "seda:d");
from("seda:a").to("seda:b", "seda:c", "seda:d");
Note
This only works for the InOnly message exchange pattern.
XML configuration example Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
The following example shows how to configure the same route in XML: