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.Chapter 116. NATS
NATS Component Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
NATS is a fast and reliable messaging platform.
Maven users will need to add the following dependency to their
pom.xml
for this component.
URI format Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
nats:servers[?options]
nats:servers[?options]
Where servers represents the list of NATS servers.
Options Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
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 Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
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");
from("direct:send").to("nats://localhost:4222?topic=test");
Consumer example:
from("nats://localhost:4222?topic=test&maxMessages=5&queueName=test").to("mock:result");
from("nats://localhost:4222?topic=test&maxMessages=5&queueName=test").to("mock:result");