UNPKG

1.79 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const RabbitMQMessageBus_1 = require("./messageBus/RabbitMQMessageBus");
4var BrokerType;
5(function (BrokerType) {
6 BrokerType["RABBITMQ"] = "RABBITMQ";
7})(BrokerType = exports.BrokerType || (exports.BrokerType = {}));
8const DEFAULT_RETRY_DELAY_TIME = 60;
9class Mercury {
10 constructor(brokerType, brokerHostName, brokerUserName, brokerPassword, appName, serviceName, retryDelayTime = DEFAULT_RETRY_DELAY_TIME) {
11 this.appName = appName;
12 this.serviceName = serviceName;
13 this.brokerHostName = brokerHostName;
14 this.brokerUserName = brokerUserName;
15 this.brokerPassword = brokerPassword;
16 this.retryDelayTime = retryDelayTime;
17 switch (brokerType) {
18 case BrokerType.RABBITMQ:
19 this.messageBus = new RabbitMQMessageBus_1.default();
20 break;
21 default:
22 this.messageBus = new RabbitMQMessageBus_1.default();
23 break;
24 }
25 }
26 async init() {
27 try {
28 return await this.messageBus.configure({
29 brokerHostName: this.brokerHostName,
30 brokerUserName: this.brokerUserName,
31 brokerPassword: this.brokerPassword,
32 appName: this.appName,
33 serviceName: this.serviceName,
34 retryDelay: this.retryDelayTime,
35 });
36 }
37 catch (e) {
38 throw e;
39 }
40 }
41 useHandler(handler) {
42 Mercury.handlerRegistry.set(handler.constructor.name, handler);
43 }
44 async terminate() {
45 return await this.messageBus.terminate();
46 }
47}
48Mercury.handlerRegistry = new Map();
49exports.default = Mercury;
50//# sourceMappingURL=Mercury.js.map
\No newline at end of file