Skip to main content

JetstreamStrategy

Defined in: src/server/strategy.ts:24

NestJS custom transport strategy for NATS JetStream.

Coordinates all server-side providers:

  1. Registers handlers from NestJS into PatternRegistry
  2. Creates required streams and consumers
  3. Starts message consumption and routing
  4. Handles Core or JetStream RPC based on configuration

All dependencies are injected via the NestJS DI container.

Extends

  • Server

Implements

  • CustomTransportStrategy

Constructors

Constructor

new JetstreamStrategy(options, connection, patternRegistry, streamProvider, consumerProvider, messageProvider, eventRouter, rpcRouter, coreRpcServer, ackWaitMap?): JetstreamStrategy

Defined in: src/server/strategy.ts:30

Parameters

options

JetstreamModuleOptions

connection

ConnectionProvider

patternRegistry

PatternRegistry

streamProvider

StreamProvider

consumerProvider

ConsumerProvider

messageProvider

MessageProvider

eventRouter

EventRouter

rpcRouter

RpcRouter

coreRpcServer

CoreRpcServer

ackWaitMap?

Map<StreamKind, number> = ...

Returns

JetstreamStrategy

Overrides

Server.constructor

Properties

transportId

readonly transportId: symbol

Defined in: src/server/strategy.ts:25

Unique transport identifier.

Implementation of

CustomTransportStrategy.transportId

Overrides

Server.transportId

Methods

close()

close(): void

Defined in: src/server/strategy.ts:118

Stop all consumers, routers, and subscriptions. Called during shutdown.

Returns

void

Implementation of

CustomTransportStrategy.close

Overrides

Server.close


getPatternRegistry()

getPatternRegistry(): PatternRegistry

Defined in: src/server/strategy.ts:156

Access the pattern registry (for module-level introspection).

Returns

PatternRegistry


listen()

listen(callback): Promise<void>

Defined in: src/server/strategy.ts:50

Start the transport: register handlers, create infrastructure, begin consumption.

Called by NestJS when connectMicroservice() is used, or internally by the module.

Parameters

callback

() => void

Returns

Promise<void>

Implementation of

CustomTransportStrategy.listen

Overrides

Server.listen


on()

on(event, callback): void

Defined in: src/server/strategy.ts:133

Register event listener (required by Server base class).

Stores callbacks for client use. Primary lifecycle events are routed through EventBus.

Parameters

event

string

callback

Function

Returns

void

Overrides

Server.on


unwrap()

unwrap<T>(): T

Defined in: src/server/strategy.ts:145

Unwrap the underlying NATS connection.

Type Parameters

T

T

Returns

T

Throws

Error if the transport has not started.

Overrides

Server.unwrap