You can disable automatic reconnect with connection options:
{% tabs %} {% tab title="Go" %}
// Disable reconnect attempts
nc, err := nats.Connect("demo.nats.io", nats.NoReconnect())
if err != nil {
log.Fatal(err)
}
defer nc.Close()
// Do something with the connection
{% endtab %}
{% tab title="Java" %}
Options options = new Options.Builder().
server("nats://demo.nats.io:4222").
noReconnect(). // Disable reconnect attempts
build();
Connection nc = Nats.connect(options);
// Do something with the connection
nc.close();
{% endtab %}
{% tab title="JavaScript" %}
let nc = NATS.connect({
reconnect: false,
servers: ["nats://demo.nats.io:4222"]
});
{% endtab %}
{% tab title="Python" %}
nc = NATS()
await nc.connect(
servers=[
"nats://demo.nats.io:1222",
"nats://demo.nats.io:1223",
"nats://demo.nats.io:1224"
],
allow_reconnect=False,
)
# Do something with the connection
await nc.close()
{% endtab %}
{% tab title="Ruby" %}
require 'nats/client'
NATS.start(servers: ["nats://127.0.0.1:1222", "nats://127.0.0.1:1223", "nats://127.0.0.1:1224"], reconnect: false) do |nc|
# Do something with the connection
# Close the connection
nc.close
end
{% endtab %}
{% tab title="TypeScript" %}
// will throw an exception if connection fails
let nc = await connect({
reconnect: false,
servers: ["nats://demo.nats.io:4222"]
});
nc.close();
{% endtab %}
{% tab title="C" %}
natsConnection *conn = NULL;
natsOptions *opts = NULL;
natsStatus s = NATS_OK;
s = natsOptions_Create(&opts);
if (s == NATS_OK)
s = natsOptions_SetAllowReconnect(opts, false);
if (s == NATS_OK)
s = natsConnection_Connect(&conn, opts);
(...)
// Destroy objects that were created
natsConnection_Destroy(conn);
natsOptions_Destroy(opts);
{% endtab %} {% endtabs %}