rabbitmq-with-retry-and-dlq 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,119 +1,95 @@
1
- # RabbitMQ with Dynamic Retry and Dead Letter Queue
1
+ # RabbitMQ with Retry and Dead Letter Queue
2
2
 
3
- A production-ready TypeScript implementation of RabbitMQ publisher/consumer with dynamic retry logic, Dead Letter Queue (DLQ) support, and EventEmitter-based error handling.
3
+ A production-ready TypeScript RabbitMQ library with automatic retry, exponential backoff, and dead letter queue support.
4
4
 
5
5
  ## Features
6
6
 
7
- - **Dynamic Retry Configuration**: Configure retry attempts with exponential or linear backoff strategies
8
- - **Dead Letter Queue (DLQ)**: Automatically routes failed messages to DLQ after max retries exceeded
9
- - **Jitter Support**: Add random jitter to retry delays to prevent thundering herd problem
10
- - **Exchange Support**: Full support for RabbitMQ exchanges (direct, topic, fanout, headers)
11
- - **Queue Assertion**: Pre-assert queues with retry configuration during initialization
12
- - **Queue Management**: Built-in methods to assert and delete queues (including retry/DLQ queues)
13
- - **EventEmitter Error Handling**: Listen to error events for monitoring and alerting
14
- - **Auto-Reconnection**: Automatic reconnection with customizable intervals
15
- - **TypeScript Support**: Full type safety with comprehensive TypeScript definitions
16
- - **Zero External Logging**: No forced logging dependencies - use your own logger
17
- - **Connection Pooling**: Efficient connection management with connection pooling
18
- - **Graceful Shutdown**: Proper cleanup and connection closing on application shutdown
7
+ - **Lazy Loading** - Automatic connection on first use
8
+ - 🔄 **Smart Retry** - Exponential/linear backoff with jitter
9
+ - 💀 **Dead Letter Queue** - Auto-routing after max retries
10
+ - 🔌 **Auto-Reconnection** - Handles network issues automatically
11
+ - 📦 **TypeScript** - Full type safety
12
+ - 🎯 **Exchange Support** - Direct, topic, fanout, headers
19
13
 
20
14
  ## Installation
21
15
 
22
16
  ```bash
23
- npm install rabbitmq-with-retry-and-dlq
24
- npm install amqp-connection-manager amqplib
17
+ npm install rabbitmq-with-retry-and-dlq amqp-connection-manager amqplib
25
18
  ```
26
19
 
27
20
  ---
28
21
 
29
- ## Quick Start
22
+ ## Usage
30
23
 
31
- ### 1. Import
24
+ ### 1. Initialize (Required - Call Once)
25
+
26
+ **You must call `initializeRabbitMQ()` once** in your application setup or helper file:
32
27
 
33
28
  ```typescript
34
- import {
35
- initializeRabbitMQ,
36
- closeRabbitMQ,
37
- publisher,
38
- consumer,
39
- type RetryConfig,
40
- type RabbitMQErrorEvent,
41
- } from 'rabbitmq-with-retry-and-dlq';
29
+ import { initializeRabbitMQ } from 'rabbitmq-with-retry-and-dlq';
30
+
31
+ // Call once at application startup (in your helper/setup file)
32
+ initializeRabbitMQ('amqp://user:pass@localhost:5672');
33
+
34
+ // That's it! Connection will be established automatically on first use
42
35
  ```
43
36
 
44
- ### 2. Connection
37
+ ### 2. Lazy Loading (Automatic Connection)
38
+
39
+ After initialization, just use publisher/consumer - connection happens automatically:
45
40
 
46
41
  ```typescript
47
- // Initialize RabbitMQ connection (call once at server startup)
48
- await initializeRabbitMQ(process.env.RABBITMQ_URL || 'amqp://localhost');
49
- console.log('✓ RabbitMQ connected');
42
+ import { publisher, consumer } from 'rabbitmq-with-retry-and-dlq';
43
+
44
+ // No additional setup needed - just use it!
45
+ // First call automatically establishes connection
46
+ await publisher.publishToQueue({
47
+ queueName: 'orders',
48
+ message: { orderId: 123 }
49
+ });
50
50
  ```
51
51
 
52
- ### 3. Assert Queues
52
+ ### 3. Assert Queues (with Retry Config)
53
53
 
54
54
  ```typescript
55
- // Assert queue with retry configuration (BEST PRACTICE)
56
55
  await publisher.assertQueues('orders', {
57
- durable: true, // Queue survives broker restart (default: true)
58
- exclusive: false, // Queue is exclusive to connection (default: false)
59
- autoDelete: false, // Auto-delete when not in use (default: false)
60
- retryConfig: { // Optional: Retry and DLQ configuration
61
- maxRetries: 5, // REQUIRED: Maximum retry attempts
62
- retryDelayMs: 2000, // Optional: Base delay in ms (default: 5000)
63
- backoffStrategy: 'exponential', // Optional: 'exponential' or 'linear' (default: 'exponential')
64
- maxDelayMs: 300000, // Optional: Cap maximum delay (default: 300000 = 5 min)
65
- jitterMs: 1000, // Optional: Random jitter range in ms (default: 0)
66
- },
67
- });
68
-
69
- // Assert queue with exchange
70
- await publisher.assertQueues('order_processing', {
71
- durable: true,
72
- exchangeName: 'orders_exchange', // Optional: Exchange name
73
- exchangeType: 'direct', // Optional: 'direct', 'topic', 'fanout', 'headers' (default: 'direct')
74
- routingKey: 'order.created', // Optional: If not provided, uses queueName
56
+ durable: true, // Queue survives restart (default: true)
75
57
  retryConfig: {
76
- maxRetries: 3,
77
- retryDelayMs: 1000,
78
- backoffStrategy: 'exponential',
79
- jitterMs: 500,
58
+ maxRetries: 5, // Required
59
+ retryDelayMs: 2000, // Base delay (default: 5000ms)
60
+ backoffStrategy: 'exponential', // 'exponential' or 'linear' (default: exponential)
61
+ maxDelayMs: 300000, // Max delay cap (default: 300000 = 5min)
62
+ jitterMs: 1000, // Random jitter 0-1000ms (default: 0)
80
63
  },
81
64
  });
82
65
 
83
- // Assert multiple queues at once
66
+ // Assert multiple queues
84
67
  await publisher.assertQueues(['orders', 'payments', 'notifications'], {
85
- durable: true,
86
- retryConfig: {
87
- maxRetries: 5,
88
- retryDelayMs: 2000,
89
- backoffStrategy: 'exponential',
90
- },
68
+ retryConfig: { maxRetries: 3 }
91
69
  });
92
- ```
93
70
 
94
- **Important Notes:**
95
- - `retryConfig` is **optional** - if not provided, no retry/DLQ infrastructure is set up
96
- - `maxRetries` is **required** if `retryConfig` is provided
97
- - `retryConfig` can **ONLY** be set in `assertQueues()` - it's automatically used when publishing
98
- - If `exchangeName` is provided, the exchange will be created and queue will be bound to it
99
- - If `routingKey` is not provided with `exchangeName`, `queueName` will be used as routing key
71
+ // With exchange
72
+ await publisher.assertQueues('order_processing', {
73
+ exchangeName: 'orders_exchange',
74
+ exchangeType: 'direct', // 'direct' | 'topic' | 'fanout' | 'headers'
75
+ routingKey: 'order.created',
76
+ retryConfig: { maxRetries: 3 },
77
+ });
78
+ ```
100
79
 
101
80
  ### 4. Publish to Queue
102
81
 
103
82
  ```typescript
104
- // Publish message (retryConfig is automatically used from assertQueues)
105
83
  await publisher.publishToQueue({
106
84
  queueName: 'orders',
107
85
  message: {
108
- orderId: 'ORDER-12345',
86
+ orderId: 'ORDER-123',
109
87
  amount: 99.99,
110
- currency: 'USD',
111
88
  },
112
- options: { // Optional: Publishing options
113
- persistent: true, // Message survives broker restart (default: true)
114
- durable: true, // Queue survives restart (default: true)
115
- expiration: '5000', // Optional: Message TTL (e.g., "5000" for 5 seconds)
116
- priority: 5, // Optional: Message priority 0-10
89
+ options: {
90
+ persistent: true, // Survives broker restart (default: true)
91
+ priority: 5, // 0-10 priority (optional)
92
+ expiration: '5000' // TTL in ms (optional)
117
93
  },
118
94
  });
119
95
  ```
@@ -121,79 +97,67 @@ await publisher.publishToQueue({
121
97
  ### 5. Publish to Exchange
122
98
 
123
99
  ```typescript
124
- // Publish to exchange (retryConfig is automatically used from assertQueues)
125
100
  await publisher.publishToExchange({
126
101
  exchangeName: 'orders_exchange',
127
- exchangeType: 'direct', // Optional: 'direct', 'topic', 'fanout', 'headers' (default: 'direct')
102
+ exchangeType: 'direct',
128
103
  queueName: 'order_processing',
129
104
  routingKey: 'order.created',
130
- message: {
131
- orderId: 'ORDER-67890',
132
- customerId: 'CUST-123',
133
- },
134
- options: { // Optional: Publishing options
105
+ message: { orderId: 'ORDER-456' },
106
+ options: {
135
107
  persistent: true,
136
- durable: true,
137
108
  priority: 5,
138
109
  },
139
110
  });
140
111
  ```
141
112
 
142
- ### 6. Consume Queue
113
+ ### 6. Consumer
143
114
 
144
115
  ```typescript
145
- // Set up error handler BEFORE initialize (IMPORTANT!)
146
- consumer.on('error', (errorEvent: RabbitMQErrorEvent) => {
147
- console.error('RabbitMQ Error:', {
148
- type: errorEvent.type, // 'RETRY_QUEUE_FAILED', 'DLQ_FAILED', etc.
149
- queueName: errorEvent.queueName,
150
- error: errorEvent.error,
151
- });
152
-
153
- // Handle critical errors
116
+ // Set up error handler
117
+ consumer.on('error', (errorEvent) => {
118
+ console.error('RabbitMQ Error:', errorEvent);
154
119
  if (errorEvent.type === 'DLQ_FAILED') {
155
- // CRITICAL: Message lost! Send alert
156
- console.error('CRITICAL: DLQ Failed!');
120
+ console.error('CRITICAL: Message lost!');
157
121
  }
158
122
  });
159
123
 
160
124
  // Consume messages
161
125
  await consumer.consumeQueue({
162
126
  queueName: 'orders',
163
- exchangeName: 'orders_exchange', // Optional: If using exchange
164
- exchangeType: 'direct', // Optional: Exchange type (default: 'direct')
165
- routingKey: 'order.created', // Optional: Routing key if using exchange
166
127
  onMessage: async (message, messageInfo) => {
167
- console.log('Processing message:', message);
128
+ console.log('Processing:', message);
129
+
130
+ // Your business logic
131
+ await processOrder(message);
168
132
 
169
- try {
170
- // Your business logic here
171
- await processOrder(message);
172
-
173
- // Message will be acknowledged automatically on success
174
- console.log('Message processed successfully');
175
- } catch (error) {
176
- // Throw error to trigger retry mechanism
177
- throw error;
178
- }
133
+ // Success = auto-ack
134
+ // Throw error = retry with backoff
135
+ },
136
+ options: {
137
+ prefetch: 5, // Max unacked messages (default: 5)
138
+ noAck: false, // Auto-ack (default: false)
179
139
  },
180
- options: { // Optional: Consumer options
181
- durable: true, // Queue survives restart (default: true)
182
- prefetch: 5, // Unacknowledged message limit (default: 5)
183
- noAck: false, // Auto-acknowledge (default: false)
184
- exclusive: false, // Exclusive consumer (default: false)
185
- autoDelete: false, // Auto-delete queue (default: false)
140
+ });
141
+
142
+ // Consume from exchange
143
+ await consumer.consumeQueue({
144
+ queueName: 'order_processing',
145
+ exchangeName: 'orders_exchange',
146
+ routingKey: 'order.created',
147
+ onMessage: async (message) => {
148
+ await processOrder(message);
186
149
  },
187
150
  });
188
151
  ```
189
152
 
190
- ### 7. Stop Connection
153
+ ### 7. Graceful Shutdown (Required!)
191
154
 
192
155
  ```typescript
193
- // Graceful shutdown
156
+ import { closeRabbitMQ } from 'rabbitmq-with-retry-and-dlq';
157
+
194
158
  const shutdown = async () => {
195
159
  console.log('Shutting down...');
196
- await closeRabbitMQ(); // Closes both publisher and consumer connections
160
+ await closeRabbitMQ();
197
161
  process.exit(0);
198
162
  };
199
163
 
@@ -203,7 +167,59 @@ process.on('SIGINT', shutdown);
203
167
 
204
168
  ---
205
169
 
206
- ## Complete Example
170
+ ## Retry Configuration
171
+
172
+ ### Retry Config Keys
173
+
174
+ ```typescript
175
+ interface RetryConfig {
176
+ maxRetries: number; // Required: max retry attempts
177
+ retryDelayMs?: number; // Optional: base delay in ms (default: 5000)
178
+ backoffStrategy?: string; // Optional: 'exponential' | 'linear' (default: 'exponential')
179
+ maxDelayMs?: number; // Optional: max delay cap (default: 300000)
180
+ jitterMs?: number; // Optional: random jitter range (default: 0)
181
+ }
182
+ ```
183
+
184
+ ### Exponential Backoff Example
185
+
186
+ ```typescript
187
+ retryConfig: {
188
+ maxRetries: 4,
189
+ retryDelayMs: 1000,
190
+ backoffStrategy: 'exponential'
191
+ }
192
+ // Delays: 1s → 2s → 4s → 8s → DLQ
193
+ ```
194
+
195
+ ### Linear Backoff Example
196
+
197
+ ```typescript
198
+ retryConfig: {
199
+ maxRetries: 4,
200
+ retryDelayMs: 5000,
201
+ backoffStrategy: 'linear'
202
+ }
203
+ // Delays: 5s → 10s → 15s → 20s → DLQ
204
+ ```
205
+
206
+ ### With Jitter (Prevents Thundering Herd)
207
+
208
+ ```typescript
209
+ retryConfig: {
210
+ maxRetries: 3,
211
+ retryDelayMs: 2000,
212
+ backoffStrategy: 'exponential',
213
+ jitterMs: 1000
214
+ }
215
+ // Retry 1: 2000ms + random(0-1000ms) = 2000-3000ms
216
+ // Retry 2: 4000ms + random(0-1000ms) = 4000-5000ms
217
+ // Retry 3: 8000ms + random(0-1000ms) = 8000-9000ms
218
+ ```
219
+
220
+ ---
221
+
222
+ ## Complete Example (Lazy Loading)
207
223
 
208
224
  ```typescript
209
225
  import express from 'express';
@@ -216,54 +232,58 @@ import {
216
232
  } from 'rabbitmq-with-retry-and-dlq';
217
233
 
218
234
  const app = express();
235
+ app.use(express.json());
219
236
 
220
- async function startServer() {
221
- try {
222
- // 1. Initialize connection
223
- await initializeRabbitMQ(process.env.RABBITMQ_URL || 'amqp://localhost');
224
- console.log('✓ RabbitMQ connected');
237
+ // 1. Initialize RabbitMQ URL (required - call once)
238
+ initializeRabbitMQ('amqp://user:pass@localhost:5672');
225
239
 
226
- // 2. Set up error handler
227
- consumer.on('error', (errorEvent: RabbitMQErrorEvent) => {
228
- console.error('RabbitMQ Error:', errorEvent);
229
- });
240
+ // 2. Set up error handler
241
+ consumer.on('error', (errorEvent: RabbitMQErrorEvent) => {
242
+ console.error('RabbitMQ Error:', errorEvent);
243
+ });
230
244
 
231
- // 3. Assert queues with retry configuration
232
- await publisher.assertQueues('orders', {
233
- durable: true,
234
- retryConfig: {
235
- maxRetries: 5,
236
- retryDelayMs: 2000,
237
- backoffStrategy: 'exponential',
238
- maxDelayMs: 300000,
239
- jitterMs: 1000,
240
- },
241
- });
242
- console.log('✓ Queues asserted');
245
+ // 3. Assert queues (auto-connects on first call)
246
+ await publisher.assertQueues('orders', {
247
+ retryConfig: {
248
+ maxRetries: 5,
249
+ retryDelayMs: 2000,
250
+ backoffStrategy: 'exponential',
251
+ jitterMs: 1000,
252
+ },
253
+ });
243
254
 
244
- // 4. Set up consumer
245
- await consumer.consumeQueue({
255
+ // 4. API endpoint
256
+ app.post('/orders', async (req, res) => {
257
+ try {
258
+ await publisher.publishToQueue({
246
259
  queueName: 'orders',
247
- onMessage: async (message) => {
248
- console.log('Processing order:', message);
249
- // Your business logic
250
- await processOrder(message);
251
- },
252
- });
253
- console.log('✓ Consumer started');
254
-
255
- // 5. Start server
256
- app.listen(3000, () => {
257
- console.log('Server running on port 3000');
260
+ message: req.body,
258
261
  });
262
+ res.json({ success: true });
259
263
  } catch (error) {
260
- console.error('Failed to start:', error);
261
- process.exit(1);
264
+ console.error('Failed to publish:', error);
265
+ res.status(500).json({ error: 'Failed to publish order' });
262
266
  }
263
- }
267
+ });
264
268
 
265
- // Graceful shutdown
269
+ // 5. Start consumer
270
+ await consumer.consumeQueue({
271
+ queueName: 'orders',
272
+ onMessage: async (message) => {
273
+ console.log('Processing order:', message);
274
+ await processOrder(message);
275
+ },
276
+ });
277
+
278
+ // 6. Start server
279
+ const server = app.listen(3000, () => {
280
+ console.log('Server running on port 3000');
281
+ });
282
+
283
+ // 7. Graceful shutdown
266
284
  const shutdown = async () => {
285
+ console.log('Shutting down...');
286
+ server.close();
267
287
  await closeRabbitMQ();
268
288
  process.exit(0);
269
289
  };
@@ -271,73 +291,68 @@ const shutdown = async () => {
271
291
  process.on('SIGTERM', shutdown);
272
292
  process.on('SIGINT', shutdown);
273
293
 
274
- startServer();
294
+ // Helper function
295
+ async function processOrder(order: any) {
296
+ // Your business logic here
297
+ console.log('Order processed:', order.orderId);
298
+ }
275
299
  ```
276
300
 
277
301
  ---
278
302
 
279
- ## Retry Configuration Details
303
+ ## Additional Options
280
304
 
281
- ### Exponential Backoff (Default)
305
+ ### Queue Options
282
306
 
283
307
  ```typescript
284
- retryConfig: {
285
- maxRetries: 4,
286
- retryDelayMs: 1000,
287
- backoffStrategy: 'exponential',
308
+ {
309
+ durable: true, // Queue survives restart (default: true)
310
+ exclusive: false, // Exclusive to connection (default: false)
311
+ autoDelete: false, // Auto-delete when unused (default: false)
288
312
  }
289
- // Delays: 1s → 2s → 4s → 8s
290
313
  ```
291
314
 
292
- ### Linear Backoff
315
+ ### Publish Options
293
316
 
294
317
  ```typescript
295
- retryConfig: {
296
- maxRetries: 4,
297
- retryDelayMs: 5000,
298
- backoffStrategy: 'linear',
318
+ {
319
+ persistent: true, // Message survives restart (default: true)
320
+ priority: 5, // Priority 0-10 (optional)
321
+ expiration: '5000', // TTL in ms (optional)
299
322
  }
300
- // Delays: 5s → 10s → 15s → 20s
301
323
  ```
302
324
 
303
- ### With Jitter
325
+ ### Consumer Options
304
326
 
305
327
  ```typescript
306
- retryConfig: {
307
- maxRetries: 5,
308
- retryDelayMs: 2000,
309
- backoffStrategy: 'exponential',
310
- jitterMs: 1000, // Adds 0-1000ms random jitter
328
+ {
329
+ prefetch: 5, // Max unacked messages (default: 5)
330
+ noAck: false, // Auto-acknowledge (default: false)
331
+ exclusive: false, // Exclusive consumer (default: false)
332
+ durable: true, // Queue survives restart (default: true)
311
333
  }
312
- // Retry 1: 2000ms + random(0-1000ms) = 2000-3000ms
313
- // Retry 2: 4000ms + random(0-1000ms) = 4000-5000ms
314
- // Retry 3: 8000ms + random(0-1000ms) = 8000-9000ms
315
334
  ```
316
335
 
317
- ---
318
-
319
- ## Error Event Types
336
+ ### Error Event Types
320
337
 
321
- - `RETRY_QUEUE_FAILED` - Failed to send message to retry queue
322
- - `DLQ_FAILED` - Failed to send to DLQ (CRITICAL - message lost!)
323
- - `MESSAGE_PROCESSING_FAILED` - General processing error
324
- - `PUBLISH_FAILED` - Failed to publish message
325
- - `CONNECTION_ERROR` - Connection-related errors
338
+ - `RETRY_QUEUE_FAILED` - Failed to send to retry queue
339
+ - `DLQ_FAILED` - Failed to send to DLQ (CRITICAL!)
340
+ - `MESSAGE_PROCESSING_FAILED` - Processing error
341
+ - `PUBLISH_FAILED` - Publish failed
342
+ - `CONNECTION_ERROR` - Connection error
326
343
 
327
344
  ---
328
345
 
329
346
  ## Queue Management
330
347
 
331
- ### Delete Queues
332
-
333
348
  ```typescript
334
- // Delete single queue (includes retry and DLQ by default)
349
+ // Delete queue (includes retry and DLQ by default)
335
350
  await publisher.deleteQueues('orders');
336
351
 
337
352
  // Delete multiple queues
338
353
  await publisher.deleteQueues(['orders', 'payments']);
339
354
 
340
- // Delete only main queue (keep retry/DLQ)
355
+ // Delete only main queue
341
356
  await publisher.deleteQueues('orders', {
342
357
  includeRetry: false,
343
358
  includeDLQ: false,
@@ -346,44 +361,29 @@ await publisher.deleteQueues('orders', {
346
361
 
347
362
  ---
348
363
 
349
- ## TypeScript Types
350
-
351
- ```typescript
352
- interface RetryConfig {
353
- maxRetries: number; // REQUIRED
354
- retryDelayMs?: number; // Default: 5000
355
- backoffStrategy?: 'exponential' | 'linear'; // Default: 'exponential'
356
- maxDelayMs?: number; // Default: 300000 (5 minutes)
357
- jitterMs?: number; // Default: 0
358
- }
359
-
360
- interface AssertQueueOptions {
361
- durable?: boolean; // Default: true
362
- exclusive?: boolean; // Default: false
363
- autoDelete?: boolean; // Default: false
364
- exchangeName?: string; // Optional: Exchange name
365
- exchangeType?: 'direct' | 'topic' | 'fanout' | 'headers'; // Default: 'direct'
366
- routingKey?: string; // Optional: Uses queueName if not provided
367
- retryConfig?: RetryConfig; // Optional: Retry and DLQ configuration
368
- }
369
- ```
370
-
371
- ---
372
-
373
364
  ## Important Notes
374
365
 
375
- ⚠️ **Beta Version**: This package is currently in beta. Use at your own risk.
376
-
377
- - Always set up error event handlers before calling `initialize()`
378
- - Assert queues with `retryConfig` during initialization for best results
379
- - `retryConfig` can only be set in `assertQueues()` - it's automatically used when publishing
380
- - Monitor DLQ failures - they indicate message loss
381
- - Use graceful shutdown to properly close connections
382
- - Queue deletion is permanent - use with caution
366
+ ### Required (Must Implement)
367
+ - ⚠️ **Must call `initializeRabbitMQ(url)` once** before using publisher/consumer
368
+ - ⚠️ **Must implement graceful shutdown handlers** (`SIGTERM`, `SIGINT`)
369
+ - ⚠️ **Must monitor DLQ failures** (indicates message loss)
370
+
371
+ ### Automatic (No Action Needed)
372
+ - Auto-reconnection on connection loss
373
+ - Lazy loading - connects on first use (after initialization)
374
+ - ✅ Message durability with `persistent: true`
375
+ - ✅ Queue durability with `durable: true`
376
+ - ✅ Thread-safe initialization
377
+
378
+ ### Best Practices
379
+ - Call `initializeRabbitMQ(url)` once in your setup/helper file
380
+ - Set `retryConfig` in `assertQueues()` - auto-used when publishing
381
+ - Use exponential backoff with jitter to prevent thundering herd
382
+ - Always set up error event handlers before consuming
383
+ - Use graceful shutdown in production
383
384
 
384
385
  ---
385
386
 
386
387
  ## License
387
388
 
388
389
  MIT
389
-
@@ -8,6 +8,7 @@ declare class RabbitMQConsumer extends EventEmitter {
8
8
  private activeQueues;
9
9
  private reconnectIntervalSeconds;
10
10
  private connectionTimeoutMs;
11
+ private initializationPromise?;
11
12
  /**
12
13
  * Create a new RabbitMQ Consumer
13
14
  * @param options - Connection URL string or ConnectionOptions object
@@ -27,8 +28,15 @@ declare class RabbitMQConsumer extends EventEmitter {
27
28
  constructor(options?: string | ConnectionOptions);
28
29
  /**
29
30
  * Initialize RabbitMQ connection - call this when server starts
31
+ * Note: This is automatically called on first use (lazy loading)
30
32
  */
31
33
  initialize(): Promise<void>;
34
+ /**
35
+ * Ensure RabbitMQ connection is established (lazy loading pattern)
36
+ * This method is called automatically by all public methods
37
+ * @private
38
+ */
39
+ private ensureConnection;
32
40
  /**
33
41
  * Check if consumer is connected
34
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"consumerMq.d.ts","sourceRoot":"","sources":["../consumerMq.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAML,aAAa,EACb,WAAW,EACX,uBAAuB,EAIvB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,cAAM,gBAAiB,SAAQ,YAAY;IACzC,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAC,CAAsB;IAC/B,SAAS,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;;;;;;;;;;;;;;OAeG;gBACS,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAehD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8CjC;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACG,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgOpE;;OAEG;IACG,qBAAqB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAevF;;OAEG;IACG,kBAAkB,CAAC,CAAC,GAAG,GAAG,EAC9B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,EACvF,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GACrD,OAAO,CAAC,IAAI,CAAC;IA4DhB;;OAEG;IACH,gBAAgB,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE;IAOjE;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B7B;AAGD,OAAO,EAAE,gBAAgB,EAAE,CAAC;;AAC5B,wBAAsC"}
1
+ {"version":3,"file":"consumerMq.d.ts","sourceRoot":"","sources":["../consumerMq.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAML,aAAa,EACb,WAAW,EACX,uBAAuB,EAIvB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,cAAM,gBAAiB,SAAQ,YAAY;IACzC,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAC,CAAsB;IAC/B,SAAS,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,qBAAqB,CAAC,CAAgB;IAE9C;;;;;;;;;;;;;;;OAeG;gBACS,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAehD;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgDjC;;;;OAIG;YACW,gBAAgB;IAsB9B;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACG,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA+NpE;;OAEG;IACG,qBAAqB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAevF;;OAEG;IACG,kBAAkB,CAAC,CAAC,GAAG,GAAG,EAC9B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,EACvF,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GACrD,OAAO,CAAC,IAAI,CAAC;IA2DhB;;OAEG;IACH,gBAAgB,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE;IAOjE;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA4B7B;AAGD,OAAO,EAAE,gBAAgB,EAAE,CAAC;;AAC5B,wBAAsC"}
@@ -65,13 +65,14 @@ class RabbitMQConsumer extends events_1.EventEmitter {
65
65
  this.connectionTimeoutMs = types_1.CONNECTION_TIMEOUT_MS;
66
66
  }
67
67
  else {
68
- this.rabbitUrl = options?.url || process.env.RABBITMQ_URL || 'amqp://localhost';
68
+ this.rabbitUrl = options?.url || 'amqp://localhost';
69
69
  this.reconnectIntervalSeconds = options?.reconnectIntervalSeconds || types_1.RECONNECT_INTERVAL_SECONDS;
70
70
  this.connectionTimeoutMs = options?.connectionTimeoutMs || types_1.CONNECTION_TIMEOUT_MS;
71
71
  }
72
72
  }
73
73
  /**
74
74
  * Initialize RabbitMQ connection - call this when server starts
75
+ * Note: This is automatically called on first use (lazy loading)
75
76
  */
76
77
  async initialize() {
77
78
  if (this.isConnected) {
@@ -110,6 +111,32 @@ class RabbitMQConsumer extends events_1.EventEmitter {
110
111
  }
111
112
  catch (error) {
112
113
  console.error('Failed to initialize RabbitMQ Consumer:', error);
114
+ // Clear initialization promise on error to allow retry
115
+ this.initializationPromise = undefined;
116
+ throw error;
117
+ }
118
+ }
119
+ /**
120
+ * Ensure RabbitMQ connection is established (lazy loading pattern)
121
+ * This method is called automatically by all public methods
122
+ * @private
123
+ */
124
+ async ensureConnection() {
125
+ // Already connected → return immediately
126
+ if (this.isConnected && this.connection && this.channel) {
127
+ return;
128
+ }
129
+ // Initialization already in progress → wait for it
130
+ if (this.initializationPromise) {
131
+ return this.initializationPromise;
132
+ }
133
+ // Start new initialization
134
+ this.initializationPromise = this.initialize();
135
+ try {
136
+ await this.initializationPromise;
137
+ }
138
+ catch (error) {
139
+ // Promise already cleared in initialize() error handler
113
140
  throw error;
114
141
  }
115
142
  }
@@ -144,9 +171,8 @@ class RabbitMQConsumer extends events_1.EventEmitter {
144
171
  * Consume messages from a queue with automatic retry and DLQ handling
145
172
  */
146
173
  async consumeQueue(config) {
147
- if (!this.isConsumerConnected()) {
148
- throw new Error('Consumer not connected. Call initialize() first.');
149
- }
174
+ // Auto-connect on first use (lazy loading)
175
+ await this.ensureConnection();
150
176
  try {
151
177
  const { queueName, exchangeName, exchangeType = 'direct', routingKey, onMessage, options = {} } = config;
152
178
  const { durable = true, prefetch = types_1.DEFAULT_PREFETCH_COUNT, noAck = false, exclusive = false, autoDelete = false } = options;
@@ -332,9 +358,8 @@ class RabbitMQConsumer extends events_1.EventEmitter {
332
358
  * Consume with pattern matching (for topic exchanges)
333
359
  */
334
360
  async consumeWithPattern(exchangeName, pattern, onMessage, options = {}) {
335
- if (!this.isConsumerConnected()) {
336
- throw new Error('Consumer not connected. Call initialize() first.');
337
- }
361
+ // Auto-connect on first use (lazy loading)
362
+ await this.ensureConnection();
338
363
  try {
339
364
  const { durable = true, prefetch = types_1.DEFAULT_PREFETCH_COUNT } = options;
340
365
  await this.channel.addSetup(async (ch) => {
@@ -407,6 +432,7 @@ class RabbitMQConsumer extends events_1.EventEmitter {
407
432
  }
408
433
  this.isConnected = false;
409
434
  this.activeQueues = [];
435
+ this.initializationPromise = undefined; // Reset for potential reconnection
410
436
  console.log(`Consumer connection closed gracefully: ${this.rabbitUrl}`);
411
437
  }
412
438
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"consumerMq.js","sourceRoot":"","sources":["../consumerMq.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumerMq.js","sourceRoot":"","sources":["../consumerMq.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,24 @@
1
1
  import publisherInstance from './publisherMq';
2
2
  import consumerInstance from './consumerMq';
3
3
  /**
4
- * Initialize RabbitMQ Publisher and Consumer
5
- * Call this function when your server starts
4
+ * Initialize RabbitMQ connection URL (REQUIRED - call once in your setup/helper)
5
+ *
6
+ * This function **must be called once** before using publisher or consumer.
7
+ * It sets the RabbitMQ connection URL. Actual connection happens lazily on first use.
8
+ *
9
+ * @param rabbitUrl - RabbitMQ connection URL (required)
10
+ *
11
+ * @example
12
+ * // Call once in your application setup/helper
13
+ * import { initializeRabbitMQ } from 'rabbitmq-with-retry-and-dlq';
14
+ *
15
+ * // Set URL - connection will happen automatically on first use
16
+ * initializeRabbitMQ('amqp://user:pass@localhost:5672');
17
+ *
18
+ * // Then use publisher/consumer anywhere
19
+ * await publisher.publishToQueue({ queueName: 'orders', message: {...} });
6
20
  */
7
- export declare function initializeRabbitMQ(rabbitUrl?: string): Promise<void>;
21
+ export declare function initializeRabbitMQ(rabbitUrl: string): void;
8
22
  /**
9
23
  * Close all RabbitMQ connections
10
24
  * Call this when your server is shutting down
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,eAAe,CAAC;AAC9C,OAAO,gBAAgB,MAAM,cAAc,CAAC;AAE5C;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB1E;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAcnD;AAGD,eAAO,MAAM,SAAS,EAAE,OAAO,iBAAqC,CAAC;AACrE,eAAO,MAAM,QAAQ,EAAE,OAAO,gBAAmC,CAAC;AAGlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,eAAe,CAAC;AAC9C,OAAO,gBAAgB,MAAM,cAAc,CAAC;AAE5C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAW1D;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAcnD;AAGD,eAAO,MAAM,SAAS,EAAE,OAAO,iBAAqC,CAAC;AACrE,eAAO,MAAM,QAAQ,EAAE,OAAO,gBAAmC,CAAC;AAGlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -9,28 +9,32 @@ exports.closeRabbitMQ = closeRabbitMQ;
9
9
  const publisherMq_1 = __importDefault(require("./publisherMq"));
10
10
  const consumerMq_1 = __importDefault(require("./consumerMq"));
11
11
  /**
12
- * Initialize RabbitMQ Publisher and Consumer
13
- * Call this function when your server starts
12
+ * Initialize RabbitMQ connection URL (REQUIRED - call once in your setup/helper)
13
+ *
14
+ * This function **must be called once** before using publisher or consumer.
15
+ * It sets the RabbitMQ connection URL. Actual connection happens lazily on first use.
16
+ *
17
+ * @param rabbitUrl - RabbitMQ connection URL (required)
18
+ *
19
+ * @example
20
+ * // Call once in your application setup/helper
21
+ * import { initializeRabbitMQ } from 'rabbitmq-with-retry-and-dlq';
22
+ *
23
+ * // Set URL - connection will happen automatically on first use
24
+ * initializeRabbitMQ('amqp://user:pass@localhost:5672');
25
+ *
26
+ * // Then use publisher/consumer anywhere
27
+ * await publisher.publishToQueue({ queueName: 'orders', message: {...} });
14
28
  */
15
- async function initializeRabbitMQ(rabbitUrl) {
16
- try {
17
- console.log('Initializing RabbitMQ services...');
18
- // Initialize publisher
19
- if (rabbitUrl) {
20
- publisherMq_1.default.rabbitUrl = rabbitUrl;
21
- }
22
- await publisherMq_1.default.initialize();
23
- // Initialize consumer
24
- if (rabbitUrl) {
25
- consumerMq_1.default.rabbitUrl = rabbitUrl;
26
- }
27
- await consumerMq_1.default.initialize();
28
- console.log('RabbitMQ services initialized successfully');
29
- }
30
- catch (error) {
31
- console.error('Failed to initialize RabbitMQ services:', error);
32
- throw error;
29
+ function initializeRabbitMQ(rabbitUrl) {
30
+ if (!rabbitUrl) {
31
+ throw new Error('RabbitMQ URL is required. Call initializeRabbitMQ("amqp://localhost") first.');
33
32
  }
33
+ // Set URL on both instances
34
+ publisherMq_1.default.rabbitUrl = rabbitUrl;
35
+ consumerMq_1.default.rabbitUrl = rabbitUrl;
36
+ console.log(`RabbitMQ URL configured: ${rabbitUrl}`);
37
+ console.log('Connection will be established automatically on first use (lazy loading)');
34
38
  }
35
39
  /**
36
40
  * Close all RabbitMQ connections
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;AAOA,gDAqBC;AAMD,sCAcC;AAhDD,gEAA8C;AAC9C,8DAA4C;AAE5C;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CAAC,SAAkB;IACzD,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAEjD,uBAAuB;QACvB,IAAI,SAAS,EAAE,CAAC;YACd,qBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1C,CAAC;QACD,MAAM,qBAAiB,CAAC,UAAU,EAAE,CAAC;QAErC,sBAAsB;QACtB,IAAI,SAAS,EAAE,CAAC;YACd,oBAAgB,CAAC,SAAS,GAAG,SAAS,CAAC;QACzC,CAAC;QACD,MAAM,oBAAgB,CAAC,UAAU,EAAE,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAE/C,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,qBAAiB,CAAC,KAAK,EAAE;YACzB,oBAAgB,CAAC,KAAK,EAAE;SACzB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAC9D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,6DAA6D;AAChD,QAAA,SAAS,GAA6B,qBAAiB,CAAC;AACxD,QAAA,QAAQ,GAA4B,oBAAgB,CAAC;AAElE,kDAAkD;AAClD,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAC1B,2CAAgD;AAAvC,8GAAA,gBAAgB,OAAA;AAoBzB,oCAAoC;AACpC,iCAMiB;AALf,mHAAA,0BAA0B,OAAA;AAC1B,8GAAA,qBAAqB,OAAA;AACrB,+GAAA,sBAAsB,OAAA;AACtB,6GAAA,oBAAoB,OAAA;AACpB,+GAAA,sBAAsB,OAAA;AAGxB,iCAAiC;AACjC,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;AAqBA,gDAWC;AAMD,sCAcC;AApDD,gEAA8C;AAC9C,8DAA4C;AAE5C;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,kBAAkB,CAAC,SAAiB;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IAED,4BAA4B;IAC5B,qBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;IACxC,oBAAgB,CAAC,SAAS,GAAG,SAAS,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;AAC1F,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAE/C,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,qBAAiB,CAAC,KAAK,EAAE;YACzB,oBAAgB,CAAC,KAAK,EAAE;SACzB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAC9D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,6DAA6D;AAChD,QAAA,SAAS,GAA6B,qBAAiB,CAAC;AACxD,QAAA,QAAQ,GAA4B,oBAAgB,CAAC;AAElE,kDAAkD;AAClD,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAC1B,2CAAgD;AAAvC,8GAAA,gBAAgB,OAAA;AAoBzB,oCAAoC;AACpC,iCAMiB;AALf,mHAAA,0BAA0B,OAAA;AAC1B,8GAAA,qBAAqB,OAAA;AACrB,+GAAA,sBAAsB,OAAA;AACtB,6GAAA,oBAAoB,OAAA;AACpB,+GAAA,sBAAsB,OAAA;AAGxB,iCAAiC;AACjC,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA"}
@@ -8,6 +8,7 @@ declare class RabbitMQPublisher extends EventEmitter {
8
8
  private reconnectIntervalSeconds;
9
9
  private connectionTimeoutMs;
10
10
  private queueRetryConfigs;
11
+ private initializationPromise?;
11
12
  /**
12
13
  * Create a new RabbitMQ Publisher
13
14
  * @param options - Connection URL string or ConnectionOptions object
@@ -27,8 +28,15 @@ declare class RabbitMQPublisher extends EventEmitter {
27
28
  constructor(options?: string | ConnectionOptions);
28
29
  /**
29
30
  * Initialize RabbitMQ connection - call this when server starts
31
+ * Note: This is automatically called on first use (lazy loading)
30
32
  */
31
33
  initialize(): Promise<void>;
34
+ /**
35
+ * Ensure RabbitMQ connection is established (lazy loading pattern)
36
+ * This method is called automatically by all public methods
37
+ * @private
38
+ */
39
+ private ensureConnection;
32
40
  /**
33
41
  * Check if publisher is connected
34
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"publisherMq.d.ts","sourceRoot":"","sources":["../publisherMq.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAKL,aAAa,EACb,mBAAmB,EACnB,WAAW,EAEX,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAGjB,cAAM,iBAAkB,SAAQ,YAAY;IAC1C,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAC,CAAsB;IAC/B,SAAS,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,iBAAiB,CAAuC;IAEhE;;;;;;;;;;;;;;;OAeG;gBACS,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAehD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDjC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QACzD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,WAAW,CAAC;KACtB,GACL,OAAO,CAAC,IAAI,CAAC;IA+FhB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,OAAO,GAAE;QACP,+DAA+D;QAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,uDAAuD;QACvD,UAAU,CAAC,EAAE,OAAO,CAAC;KACjB,GACL,OAAO,CAAC,IAAI,CAAC;IAwEhB;;OAEG;YACW,sBAAsB;IAyCpC;;OAEG;IACG,iBAAiB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAiF5E;;OAEG;IACG,cAAc,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAyD/E;;OAEG;IACG,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAU5E;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB7B;AAGD,OAAO,EAAE,iBAAiB,EAAE,CAAC;;AAC7B,wBAAuC"}
1
+ {"version":3,"file":"publisherMq.d.ts","sourceRoot":"","sources":["../publisherMq.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAKL,aAAa,EACb,mBAAmB,EACnB,WAAW,EAEX,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAGjB,cAAM,iBAAkB,SAAQ,YAAY;IAC1C,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAC,CAAsB;IAC/B,SAAS,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,iBAAiB,CAAuC;IAEhE,OAAO,CAAC,qBAAqB,CAAC,CAAgB;IAE9C;;;;;;;;;;;;;;;OAeG;gBACS,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAehD;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqDjC;;;;OAIG;YACW,gBAAgB;IAsB9B;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QACzD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,WAAW,CAAC;KACtB,GACL,OAAO,CAAC,IAAI,CAAC;IA8FhB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,OAAO,GAAE;QACP,+DAA+D;QAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,uDAAuD;QACvD,UAAU,CAAC,EAAE,OAAO,CAAC;KACjB,GACL,OAAO,CAAC,IAAI,CAAC;IAuEhB;;OAEG;YACW,sBAAsB;IAyCpC;;OAEG;IACG,iBAAiB,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAgF5E;;OAEG;IACG,cAAc,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAwD/E;;OAEG;IACG,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAU5E;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA0B7B;AAGD,OAAO,EAAE,iBAAiB,EAAE,CAAC;;AAC7B,wBAAuC"}
@@ -67,13 +67,14 @@ class RabbitMQPublisher extends events_1.EventEmitter {
67
67
  this.connectionTimeoutMs = types_1.CONNECTION_TIMEOUT_MS;
68
68
  }
69
69
  else {
70
- this.rabbitUrl = options?.url || process.env.RABBITMQ_URL || 'amqp://localhost';
70
+ this.rabbitUrl = options?.url || 'amqp://localhost';
71
71
  this.reconnectIntervalSeconds = options?.reconnectIntervalSeconds || types_1.RECONNECT_INTERVAL_SECONDS;
72
72
  this.connectionTimeoutMs = options?.connectionTimeoutMs || types_1.CONNECTION_TIMEOUT_MS;
73
73
  }
74
74
  }
75
75
  /**
76
76
  * Initialize RabbitMQ connection - call this when server starts
77
+ * Note: This is automatically called on first use (lazy loading)
77
78
  */
78
79
  async initialize() {
79
80
  if (this.isConnected) {
@@ -112,6 +113,32 @@ class RabbitMQPublisher extends events_1.EventEmitter {
112
113
  }
113
114
  catch (error) {
114
115
  console.error('Failed to initialize RabbitMQ Publisher:', error);
116
+ // Clear initialization promise on error to allow retry
117
+ this.initializationPromise = undefined;
118
+ throw error;
119
+ }
120
+ }
121
+ /**
122
+ * Ensure RabbitMQ connection is established (lazy loading pattern)
123
+ * This method is called automatically by all public methods
124
+ * @private
125
+ */
126
+ async ensureConnection() {
127
+ // Already connected → return immediately
128
+ if (this.isConnected && this.connection && this.channel) {
129
+ return;
130
+ }
131
+ // Initialization already in progress → wait for it
132
+ if (this.initializationPromise) {
133
+ return this.initializationPromise;
134
+ }
135
+ // Start new initialization
136
+ this.initializationPromise = this.initialize();
137
+ try {
138
+ await this.initializationPromise;
139
+ }
140
+ catch (error) {
141
+ // Promise already cleared in initialize() error handler
115
142
  throw error;
116
143
  }
117
144
  }
@@ -148,9 +175,8 @@ class RabbitMQPublisher extends events_1.EventEmitter {
148
175
  * });
149
176
  */
150
177
  async assertQueues(queueNames, options = {}) {
151
- if (!this.isPublisherConnected()) {
152
- throw new Error('Publisher not connected. Call initialize() first.');
153
- }
178
+ // Auto-connect on first use (lazy loading)
179
+ await this.ensureConnection();
154
180
  // Normalize to array
155
181
  const queues = Array.isArray(queueNames) ? queueNames : [queueNames];
156
182
  const { durable = true, exclusive = false, autoDelete = false, exchangeName, exchangeType = 'direct', routingKey, retryConfig, } = options;
@@ -243,9 +269,8 @@ class RabbitMQPublisher extends events_1.EventEmitter {
243
269
  * });
244
270
  */
245
271
  async deleteQueues(queueNames, options = {}) {
246
- if (!this.isPublisherConnected()) {
247
- throw new Error('Publisher not connected. Call initialize() first.');
248
- }
272
+ // Auto-connect on first use (lazy loading)
273
+ await this.ensureConnection();
249
274
  // Normalize to array
250
275
  const queues = Array.isArray(queueNames) ? queueNames : [queueNames];
251
276
  const { includeRetry = true, includeDLQ = true, } = options;
@@ -348,9 +373,8 @@ class RabbitMQPublisher extends events_1.EventEmitter {
348
373
  * Publish message to exchange with routing key and optional retry/DLQ configuration
349
374
  */
350
375
  async publishToExchange(config) {
351
- if (!this.isPublisherConnected()) {
352
- throw new Error('Publisher not connected. Call initialize() first.');
353
- }
376
+ // Auto-connect on first use (lazy loading)
377
+ await this.ensureConnection();
354
378
  try {
355
379
  const { exchangeName, exchangeType = 'direct', queueName, routingKey, message, options = {}, } = config;
356
380
  // Get retryConfig from stored config (set during assertQueues)
@@ -406,9 +430,8 @@ class RabbitMQPublisher extends events_1.EventEmitter {
406
430
  * Publish message directly to queue (bypassing exchange) with retry/DLQ support
407
431
  */
408
432
  async publishToQueue(config) {
409
- if (!this.isPublisherConnected()) {
410
- throw new Error('Publisher not connected. Call initialize() first.');
411
- }
433
+ // Auto-connect on first use (lazy loading)
434
+ await this.ensureConnection();
412
435
  try {
413
436
  const { queueName, message, options = {} } = config;
414
437
  // Get retryConfig from stored config (set during assertQueues)
@@ -473,6 +496,7 @@ class RabbitMQPublisher extends events_1.EventEmitter {
473
496
  this.connection = undefined;
474
497
  }
475
498
  this.isConnected = false;
499
+ this.initializationPromise = undefined; // Reset for potential reconnection
476
500
  console.log(`Publisher connection closed gracefully: ${this.rabbitUrl}`);
477
501
  }
478
502
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"publisherMq.js","sourceRoot":"","sources":["../publisherMq.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publisherMq.js","sourceRoot":"","sources":["../publisherMq.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rabbitmq-with-retry-and-dlq",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "RabbitMQ implementation with dynamic retry logic and Dead Letter Queue support",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -30,7 +30,7 @@
30
30
  "license": "MIT",
31
31
  "repository": {
32
32
  "type": "git",
33
- "url": "https://git.antiersolutions.com/utilities/npm-rabbitmq.git"
33
+ "url": ""
34
34
  },
35
35
  "dependencies": {
36
36
  "amqp-connection-manager": "^4.1.14",