blob: 89125ec20a9cca0910ece0953c4ddb46e495a6f5 [file] [log] [blame]
[[Durable-Subscriber]]
= Durable Subscriber
Camel supports the
https://www.enterpriseintegrationpatterns.com/patterns/messaging/DurableSubscription.html[Durable Subscriber]
from the xref:enterprise-integration-patterns.adoc[EIP patterns] book.
Camel supports the Durable Subscriber from the EIP patterns using components such as the JMS or Kafka component which supports publish & subscribe using topics with support for non-durable and durable subscribers.
image::eip/DurableSubscriberSolution.gif[image]
== Sample
Here is a simple example of creating durable subscribers to a JMS topic
Using Java DSL
[source,java]
----
from("direct:start")
.to("activemq:topic:foo");
from("activemq:topic:foo?clientId=1&durableSubscriptionName=bar1")
.to("mock:result1");
from("activemq:topic:foo?clientId=2&durableSubscriptionName=bar2")
.to("mock:result2");
----
Using XML DSL
[source,xml]
----
<routes>
<route>
<from uri="direct:start"/>
<to uri="activemq:topic:foo"/>
</route>
<route>
<from uri="activemq:topic:foo?clientId=1&amp;durableSubscriptionName=bar1"/>
<to uri="mock:result1"/>
</route>
<route>
<from uri="activemq:topic:foo?clientId=2&amp;durableSubscriptionName=bar2"/>
<to uri="mock:result2"/>
</route>
</routes>
----