Chapter 116. NATS
NATS Component
NATS is a fast and reliable messaging platform.
Maven users will need to add the following dependency to their
pom.xml
for this component.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-nats</artifactId> <!-- use the same version as your Camel core version --> <version>x.y.z</version> </dependency>
URI format
nats:servers[?options]
Where servers represents the list of NATS servers.
Options
Name
|
Default Value
|
Description
|
---|---|---|
servers
|
null
|
Defines the servers the component should connect to.
|
topic
|
null
|
The topic to subscribe/publish to. |
reconnect
|
true
|
Whether or not to use the reconnection feature. |
pedantic
|
false
|
Whether or not running in pedantic mode (this affects performance). |
verbose
|
false
|
Whether or not running in verbose mode |
ssl
|
false
|
Whether or not to use SSL |
reconnectTimeWait
|
2000
|
Waiting time before attempts reconnection (in milliseconds) |
maxReconnectAttempts
|
3
|
Set the maximum number of reconnection attempts in case the connection is lost. |
pingInterval
|
4000
|
Ping interval to be aware if connection is still alive (in milliseconds) |
noRandomizeServers
|
false
|
Whether or not to randomize the order of servers for the connection attempts |
queueName
|
null
|
The Queue name if we are using NATS for a queue configuration (consumer). |
maxMessages
|
null
|
Stop receiving messages from a topic we are subscribing to after maxMessages (consumer). |
poolSize
|
10
|
Pool size for consumer workers (consumer). |
Headers
Name | Type | Description |
---|---|---|
CamelNatsMessageTimestamp
|
long
|
The timestamp of a consumed message. |
CamelNatsSubscriptionId
|
Integer
|
The subscription ID of a consumer.
|
Producer example:
from("direct:send").to("nats://localhost:4222?topic=test");
Consumer example:
from("nats://localhost:4222?topic=test&maxMessages=5&queueName=test").to("mock:result");