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

NameTypeDescription
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");
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.