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

servers

null

Defines the servers the component should connect to.

topicnullThe topic to subscribe/publish to.
reconnecttrueWhether or not to use the reconnection feature.
pedanticfalseWhether or not running in pedantic mode (this affects performance).
verbosefalseWhether or not running in verbose mode
sslfalseWhether or not to use SSL
reconnectTimeWait2000Waiting time before attempts reconnection (in milliseconds)
maxReconnectAttempts3Set the maximum number of reconnection attempts in case the connection is lost.
pingInterval4000Ping interval to be aware if connection is still alive (in milliseconds)
noRandomizeServersfalseWhether or not to randomize the order of servers for the connection attempts
queueNamenullThe Queue name if we are using NATS for a queue configuration (consumer).
maxMessagesnullStop receiving messages from a topic we are subscribing to after maxMessages (consumer).
poolSize10Pool size for consumer workers (consumer).

Headers

NameTypeDescription

CamelNatsMessageTimestamp

longThe 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");
  • No labels