mirror of
https://github.com/taigrr/nats.docs
synced 2025-01-18 04:03:23 -08:00
145 lines
5.8 KiB
HTML
145 lines
5.8 KiB
HTML
|
|
<div class="tab-wrap">
|
|
|
|
|
|
<input type="radio" id="connect_status_go" name="connect_status" class="tab" checked>
|
|
|
|
<label for="connect_status_go" class="api-lang" data-language="go">Go</label>
|
|
|
|
|
|
<input type="radio" id="connect_status_java" name="connect_status" class="tab">
|
|
|
|
<label for="connect_status_java" class="api-lang" data-language="java">Java</label>
|
|
|
|
|
|
<input type="radio" id="connect_status_js" name="connect_status" class="tab">
|
|
|
|
<label for="connect_status_js" class="api-lang" data-language="js">JavaScript</label>
|
|
|
|
|
|
<input type="radio" id="connect_status_py" name="connect_status" class="tab">
|
|
|
|
<label for="connect_status_py" class="api-lang" data-language="py">Python</label>
|
|
|
|
|
|
<input type="radio" id="connect_status_ruby" name="connect_status" class="tab">
|
|
|
|
<label for="connect_status_ruby" class="api-lang" data-language="ruby">Ruby</label>
|
|
|
|
|
|
<input type="radio" id="connect_status_ts" name="connect_status" class="tab">
|
|
|
|
<label for="connect_status_ts" class="api-lang" data-language="ts">TypeScript</label>
|
|
|
|
|
|
|
|
<div class="tab__content">
|
|
<pre id="connect_status_go_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/go-nats-examples/blob/master/api-examples/connect_status/main.go#L10-33"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-go">nc, err := nats.Connect("demo.nats.io")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
defer nc.Close()
|
|
|
|
getStatusTxt := func(nc *nats.Conn) string {
|
|
switch nc.Status() {
|
|
case nats.CONNECTED:
|
|
return "Connected"
|
|
case nats.CLOSED:
|
|
return "Closed"
|
|
default:
|
|
return "Other"
|
|
}
|
|
}
|
|
log.Printf("The connection is %v\n", getStatusTxt(nc))
|
|
|
|
nc.Close()
|
|
|
|
log.Printf("The connection is %v\n", getStatusTxt(nc))
|
|
|
|
</code></pre>
|
|
</div>
|
|
|
|
<div class="tab__content">
|
|
<pre id="connect_status_java_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/java-nats-examples/blob/master/src/main/java/io/nats/examples/GetConnectionStatus.java#L10-18"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-java">Connection nc = Nats.connect("nats://demo.nats.io:4222");
|
|
|
|
System.out.println("The Connection is: " + nc.getStatus());
|
|
|
|
nc.close();
|
|
|
|
System.out.println("The Connection is: " + nc.getStatus());
|
|
</code></pre>
|
|
</div>
|
|
|
|
<div class="tab__content">
|
|
<pre id="connect_status_js_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/node-nats-examples/blob/master/src/event_samples.js#L99-113"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-javascript">let nc = NATS.connect("nats://demo.nats.io:4222");
|
|
|
|
// on node you *must* register an error listener. If not registered
|
|
// the library emits an 'error' event, the node process will exit.
|
|
nc.on('error', (err) => {
|
|
t.log('client got an error:', err);
|
|
});
|
|
|
|
if(nc.closed) {
|
|
t.log('client is closed');
|
|
} else {
|
|
t.log('client is not closed');
|
|
}
|
|
</code></pre>
|
|
</div>
|
|
|
|
<div class="tab__content">
|
|
<pre id="connect_status_py_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/asyncio-nats-examples/blob/master/connect_status.py#L6-27"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-python">nc = NATS()
|
|
|
|
await nc.connect(
|
|
servers=["nats://demo.nats.io:4222"],
|
|
)
|
|
|
|
# Do something with the connection.
|
|
|
|
print("The connection is connected?", nc.is_connected)
|
|
|
|
while True:
|
|
if nc.is_reconnecting:
|
|
print("Reconnecting to NATS...")
|
|
break
|
|
await asyncio.sleep(1)
|
|
|
|
await nc.close()
|
|
|
|
print("The connection is closed?", nc.is_closed)
|
|
|
|
</code></pre>
|
|
</div>
|
|
|
|
<div class="tab__content">
|
|
<pre id="connect_status_ruby_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/ruby-nats-examples/blob/master/connect_status.rb#L3-21"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-ruby">NATS.start(max_reconnect_attempts: 2) do |nc|
|
|
puts "Connect is connected?: #{nc.connected?}"
|
|
|
|
timer = EM.add_periodic_timer(1) do
|
|
if nc.closing?
|
|
puts "Connection closed..."
|
|
EM.cancel_timer(timer)
|
|
NATS.stop
|
|
end
|
|
|
|
if nc.reconnecting?
|
|
puts "Reconnecting to NATS..."
|
|
next
|
|
end
|
|
end
|
|
end
|
|
|
|
</code></pre>
|
|
</div>
|
|
|
|
<div class="tab__content">
|
|
<pre id="connect_status_ts_content"><a class="toolbar-icons pull-right" target="_blank" href="https://github.com/nats-io/ts-nats-examples/blob/master/src/event_samples.ts#L62-68"><i class="mdi mdi-github-circle" title="View on GitHub"></i></a><a class="toolbar-icons pull-right"><i class="mdi mdi-content-copy js-copy" title="Copy to Clipboard"></i></a><span class="copy-msg pull-right"></span><code class="language-javascript">if(nc.isClosed()) {
|
|
t.log('the client is closed');
|
|
} else {
|
|
t.log('the client is running');
|
|
}
|
|
</code></pre>
|
|
</div>
|
|
|
|
</div>
|