NATS Component
Available since Camel 2.17.0
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 |
---|---|---|
| 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");