JetstreamClient
Defined in: src/client/jetstream.client.ts:50
NestJS ClientProxy implementation for the JetStream transport.
Supports two operational modes:
- Core mode (default): Uses
nc.request()for RPC,nc.publish()for events. - JetStream mode: Uses
js.publish()for RPC commands + inbox for responses.
Events always go through JetStream publish for guaranteed delivery. The mode only affects RPC (request/reply) behavior.
Clients are lightweight — they share the NATS connection from forRoot().
Extends
ClientProxy
Constructors
Constructor
new JetstreamClient(
rootOptions,targetServiceName,connection,codec,eventBus):JetstreamClient
Defined in: src/client/jetstream.client.ts:72
Parameters
rootOptions
targetServiceName
string
connection
ConnectionProvider
codec
eventBus
Returns
JetstreamClient
Overrides
ClientProxy.constructor
Methods
close()
close():
Promise<void>
Defined in: src/client/jetstream.client.ts:109
Clean up resources: reject pending RPCs, unsubscribe from status events.
Returns
Promise<void>
Overrides
ClientProxy.close
connect()
connect():
Promise<NatsConnection>
Defined in: src/client/jetstream.client.ts:92
Establish connection. Called automatically by NestJS on first use.
Sets up the JetStream RPC inbox (if in JetStream mode) and subscribes to connection status events for fail-fast disconnect handling.
Returns
Promise<NatsConnection>
The underlying NATS connection.
Overrides
ClientProxy.connect
dispatchEvent()
protecteddispatchEvent<T>(packet):Promise<T>
Defined in: src/client/jetstream.client.ts:138
Publish a fire-and-forget event to JetStream.
Events are published to either the workqueue stream or broadcast stream
depending on the subject prefix. When a schedule is present the message
is published to a _sch subject within the same stream, with the target
set to the original event subject.
Type Parameters
T
T = unknown
Parameters
packet
ReadPacket
Returns
Promise<T>
Overrides
ClientProxy.dispatchEvent
publish()
protectedpublish(packet,callback): () =>void
Defined in: src/client/jetstream.client.ts:188
Publish an RPC command and register callback for response.
Core mode: uses nc.request() with timeout. JetStream mode: publishes to stream + waits for inbox response.
Parameters
packet
ReadPacket
callback
(p) => void
Returns
() => void
Overrides
ClientProxy.publish
unwrap()
unwrap<
T>():T
Defined in: src/client/jetstream.client.ts:120
Direct access to the raw NATS connection.
Type Parameters
T
T = NatsConnection
Returns
T
Throws
Error if not connected.
Overrides
ClientProxy.unwrap