@cargolift-cdi/util-rabbitmq 0.2.65 → 0.2.66
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
|
@@ -8,7 +8,7 @@ Utilitários para publicação de mensagens RabbitMQ com confirmação (publishe
|
|
|
8
8
|
- `IntegrationEventPublisher`: fachada de alto nível para eventos de integração HTTP → RabbitMQ.
|
|
9
9
|
- `publishToDlqAndAck`: envia mensagem original (enriquecida) para DLQ e faz ack.
|
|
10
10
|
- `RabbitMQConnectionManager`: reutiliza conexão evitando overhead de conexão por mensagem.
|
|
11
|
-
- `
|
|
11
|
+
- `RabbitTopologyManager`: criação padronizada de exchanges (AE, DLX, retries) e filas dinâmicas por sistema.
|
|
12
12
|
|
|
13
13
|
## Exemplo Rápido (NestJS)
|
|
14
14
|
|
|
@@ -111,7 +111,7 @@ Header `x-dlq-enriched` indica `1` (sucesso) ou `0` (fallback raw).
|
|
|
111
111
|
|
|
112
112
|
Notas:
|
|
113
113
|
- As variáveis com sufixo “preferencial” são a convenção nova. As chaves “compat” continuam funcionais para serviços existentes.
|
|
114
|
-
- `
|
|
114
|
+
- `RabbitTopologyManager` usa estas variáveis para criar: AE (fanout), DLX (topic), retries (topic) e filas `integration.<system>.*` com DLQ e binds.
|
|
115
115
|
- Filas agora são criadas como `quorum` por padrão (inclusive DLQ e retries). Ajuste as variáveis acima caso precise manter filas clássicas em ambientes limitados.
|
|
116
116
|
|
|
117
117
|
## Boas Práticas
|
|
@@ -33,11 +33,11 @@ export interface RabbitMQTopologyQueue {
|
|
|
33
33
|
retryQueues?: RabbitMQTopologyRetry;
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* RabbitTopologyManager
|
|
37
37
|
* Padroniza criação de exchanges, DLX, AE e filas dinâmicas por sistema.
|
|
38
38
|
* Compatível com a topologia usada no middleware-esb.
|
|
39
39
|
*/
|
|
40
|
-
export declare class
|
|
40
|
+
export declare class RabbitTopologyManager {
|
|
41
41
|
private readonly logger;
|
|
42
42
|
/**
|
|
43
43
|
* Cria exchanges, AE (fanout), DLX (topic), unrouteable queue e exchanges de retry (inbound).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbitmq-topology.service.d.ts","sourceRoot":"","sources":["../src/rabbitmq-topology.service.ts"],"names":[],"mappings":"AAGA,KAAK,iBAAiB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAY9C,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,iBAAiB,CAAC,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,kBAAkB,CAAC,EAAE;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,KAAK,CAAC,EAAE;QACN,SAAS,EAAE,qBAAqB,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAGjC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAOD;;;;GAIG;AACH,qBACa,
|
|
1
|
+
{"version":3,"file":"rabbitmq-topology.service.d.ts","sourceRoot":"","sources":["../src/rabbitmq-topology.service.ts"],"names":[],"mappings":"AAGA,KAAK,iBAAiB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAY9C,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,iBAAiB,CAAC,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,kBAAkB,CAAC,EAAE;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,KAAK,CAAC,EAAE;QACN,SAAS,EAAE,qBAAqB,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAGjC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAOD;;;;GAIG;AACH,qBACa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IAEjE;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+C9D;;OAEG;IACG,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;YAkC/C,mBAAmB;YAwCnB,mBAAmB;YAgBnB,iBAAiB;IAqD/B,OAAO,CAAC,mBAAmB;CAwB5B"}
|
|
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
var
|
|
7
|
+
var RabbitTopologyManager_1;
|
|
8
8
|
import { Injectable, Logger } from "@nestjs/common";
|
|
9
9
|
import { getRabbitConnectionManager } from "./rabbitmq-connection.manager.js";
|
|
10
10
|
const DEFAULT_QUEUE_TYPE = "quorum"; // resolveQueueType(getEnv("RABBITMQ_QUEUE_TYPE"));
|
|
@@ -12,13 +12,13 @@ const DEFAULT_RETRY_QUEUE_TYPE = "quorum"; // resolveQueueType(getEnv("RABBITMQ_
|
|
|
12
12
|
const DEFAULT_DELIVERY_LIMIT = 0; // toInt(getEnv("RABBITMQ_DELIVERY_LIMIT"), 0);
|
|
13
13
|
const DEFAULT_QUORUM_GROUP_SIZE = 0; // toInt(getEnv("RABBITMQ_QUORUM_INITIAL_GROUP_SIZE"), 0);
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* RabbitTopologyManager
|
|
16
16
|
* Padroniza criação de exchanges, DLX, AE e filas dinâmicas por sistema.
|
|
17
17
|
* Compatível com a topologia usada no middleware-esb.
|
|
18
18
|
*/
|
|
19
|
-
let
|
|
19
|
+
let RabbitTopologyManager = RabbitTopologyManager_1 = class RabbitTopologyManager {
|
|
20
20
|
constructor() {
|
|
21
|
-
this.logger = new Logger(
|
|
21
|
+
this.logger = new Logger(RabbitTopologyManager_1.name);
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Cria exchanges, AE (fanout), DLX (topic), unrouteable queue e exchanges de retry (inbound).
|
|
@@ -179,12 +179,12 @@ let RabbitMQTopologyService = RabbitMQTopologyService_1 = class RabbitMQTopology
|
|
|
179
179
|
return args;
|
|
180
180
|
}
|
|
181
181
|
};
|
|
182
|
-
|
|
182
|
+
RabbitTopologyManager = RabbitTopologyManager_1 = __decorate([
|
|
183
183
|
Injectable()
|
|
184
|
-
],
|
|
185
|
-
export {
|
|
184
|
+
], RabbitTopologyManager);
|
|
185
|
+
export { RabbitTopologyManager };
|
|
186
186
|
// Backwards-compatible alias for existing code that uses the older naming convention
|
|
187
|
-
// Compat alias removido: use apenas
|
|
187
|
+
// Compat alias removido: use apenas RabbitTopologyManager diretamente.
|
|
188
188
|
function getEnv(name) {
|
|
189
189
|
const v = process.env[name];
|
|
190
190
|
return v == null ? undefined : String(v);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbitmq-topology.service.js","sourceRoot":"","sources":["../src/rabbitmq-topology.service.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAsD9E,MAAM,kBAAkB,GAAG,QAAQ,CAAA,CAAC,mDAAmD;AACvF,MAAM,wBAAwB,GAAG,QAAQ,CAAA,CAAC,6EAA6E;AACvH,MAAM,sBAAsB,GAAG,CAAC,CAAA,CAAC,+CAA+C;AAChF,MAAM,yBAAyB,GAAG,CAAC,CAAA,CAAC,0DAA0D;AAE9F;;;;GAIG;AAEI,IAAM,
|
|
1
|
+
{"version":3,"file":"rabbitmq-topology.service.js","sourceRoot":"","sources":["../src/rabbitmq-topology.service.ts"],"names":[],"mappings":"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"}
|