JetstreamStrategy
Defined in: src/server/strategy.ts:25
NestJS custom transport strategy for NATS JetStream.
Registers handlers, provisions streams and consumers, then starts message consumption and routing (Core or JetStream RPC based on configuration).
Extends
Server
Implements
CustomTransportStrategy
Constructors
Constructor
new JetstreamStrategy(
options,connection,patternRegistry,streamProvider,consumerProvider,messageProvider,eventRouter,rpcRouter,coreRpcServer,ackWaitMap?,metadataProvider?):JetstreamStrategy
Defined in: src/server/strategy.ts:31
Parameters
options
connection
ConnectionProvider
patternRegistry
PatternRegistry
streamProvider
StreamProvider
consumerProvider
ConsumerProvider
messageProvider
MessageProvider
eventRouter
EventRouter
rpcRouter
RpcRouter
coreRpcServer
CoreRpcServer
ackWaitMap?
Map<StreamKind, number> = ...
metadataProvider?
MetadataProvider
Returns
JetstreamStrategy
Overrides
Server.constructor
Properties
transportId
readonlytransportId:symbol
Defined in: src/server/strategy.ts:26
Unique transport identifier.
Implementation of
CustomTransportStrategy.transportId
Overrides
Server.transportId
Methods
addHandler()
addHandler(
pattern,callback,isEventHandler?,extras?):void
Defined in: src/server/strategy.ts:79
Override NestJS Server.addHandler to fail fast on duplicate pattern registration.
The base class silently overwrites duplicate RPC handlers and chains duplicate event handlers, which would double-ack the same JetStream message. Any collision is treated as a fatal misconfiguration so it surfaces at bootstrap, not in production traffic.
Parameters
pattern
unknown
callback
MessageHandler
isEventHandler?
boolean = false
extras?
Record<string, unknown> = {}
Returns
void
Overrides
Server.addHandler
close()
close():
void
Defined in: src/server/strategy.ts:63
Stop all consumers, routers, subscriptions, and metadata heartbeat. Called during shutdown.
Returns
void
Implementation of
CustomTransportStrategy.close
Overrides
Server.close
getPatternRegistry()
getPatternRegistry():
PatternRegistry
Defined in: src/server/strategy.ts:123
Access the pattern registry (for module-level introspection).
Returns
PatternRegistry
listen()
listen(
callback):Promise<void>
Defined in: src/server/strategy.ts:52
Start the transport: register handlers, create infrastructure, begin consumption.
Called by NestJS when connectMicroservice() is used, or internally by the module.
Parameters
callback
(...args) => void
Returns
Promise<void>
Implementation of
CustomTransportStrategy.listen
Overrides
Server.listen
on()
on(
event,callback):void
Defined in: src/server/strategy.ts:100
Register event listener (required by Server base class); lifecycle events use EventBus.
Parameters
event
string
callback
Function
Returns
void
Overrides
Server.on
unwrap()
unwrap<
T>():T
Defined in: src/server/strategy.ts:112
Unwrap the underlying NATS connection.
Type Parameters
T
T
Returns
T
Throws
Error if the transport has not started.
Overrides
Server.unwrap