@midwayjs/rabbitmq 3.0.1 → 3.0.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../src/configuration.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAA4D;AAC5D,2CAAsD;AAYtD,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAIhC,KAAK,CAAC,OAAO,KAAI,CAAC;CACnB,CAAA;AAHC;IADC,IAAA,kBAAM,GAAE;8BACE,mCAAuB;wDAAC;AAFxB,qBAAqB;IAVjC,IAAA,yBAAa,EAAC;QACb,SAAS,EAAE,UAAU;QACrB,aAAa,EAAE;YACb;gBACE,OAAO,EAAE;oBACP,cAAc,EAAE,EAAE;iBACnB;aACF;SACF;KACF,CAAC;GACW,qBAAqB,CAKjC;AALY,sDAAqB","sourcesContent":["import { Configuration, Inject } from '@midwayjs/decorator';\nimport { MidwayRabbitMQFramework } from './framework';\n\n@Configuration({\n namespace: 'rabbitMQ',\n importConfigs: [\n {\n default: {\n rabbitMQServer: {},\n },\n },\n ],\n})\nexport class RabbitMQConfiguration {\n @Inject()\n framework: MidwayRabbitMQFramework;\n\n async onReady() {}\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framework.js","sourceRoot":"","sources":["../src/framework.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getClassMetadata,\n listModule,\n listPropertyDataFromClass,\n MidwayFrameworkType,\n ConsumerMetadata,\n MS_CONSUMER_KEY,\n MSListenerType,\n RabbitMQListenerOptions,\n Framework,\n} from '@midwayjs/decorator';\nimport { BaseFramework } from '@midwayjs/core';\nimport {\n IMidwayRabbitMQApplication,\n IMidwayRabbitMQConfigurationOptions,\n IMidwayRabbitMQContext,\n} from './interface';\nimport { RabbitMQServer } from './mq';\nimport { ConsumeMessage } from 'amqplib';\n\n@Framework()\nexport class MidwayRabbitMQFramework extends BaseFramework<\n IMidwayRabbitMQApplication,\n IMidwayRabbitMQContext,\n IMidwayRabbitMQConfigurationOptions\n> {\n public app: IMidwayRabbitMQApplication;\n public consumerHandlerList = [];\n\n configure() {\n return this.configService.getConfiguration('rabbitMQServer');\n }\n\n async applicationInitialize(options) {\n // Create a connection manager\n this.app = new RabbitMQServer({\n logger: this.logger,\n ...this.configurationOptions,\n }) as unknown as IMidwayRabbitMQApplication;\n }\n\n public async run(): Promise<void> {\n // init connection\n await this.app.connect(\n this.configurationOptions.url,\n this.configurationOptions.socketOptions\n );\n await this.loadSubscriber();\n this.logger.info('Rabbitmq server start success');\n }\n\n protected async beforeStop(): Promise<void> {\n await this.app.close();\n }\n\n public getFrameworkType(): MidwayFrameworkType {\n return MidwayFrameworkType.MS_RABBITMQ;\n }\n\n private async loadSubscriber() {\n // create channel\n const subscriberModules = listModule(MS_CONSUMER_KEY, module => {\n const metadata: ConsumerMetadata.ConsumerMetadata = getClassMetadata(\n MS_CONSUMER_KEY,\n module\n );\n return metadata.type === MSListenerType.RABBITMQ;\n });\n for (const module of subscriberModules) {\n const data: RabbitMQListenerOptions[][] = listPropertyDataFromClass(\n MS_CONSUMER_KEY,\n module\n );\n\n for (const methodBindListeners of data) {\n // 循环绑定的方法和监听的配置信息\n for (const listenerOptions of methodBindListeners) {\n await this.app.createConsumer(\n listenerOptions,\n async (data: ConsumeMessage, channel, channelWrapper) => {\n const ctx = {\n channel,\n queueName: listenerOptions.queueName,\n ack: data => {\n return channelWrapper.ack(data);\n },\n } as IMidwayRabbitMQContext;\n this.app.createAnonymousContext(ctx);\n const ins = await ctx.requestContext.getAsync(module);\n const fn = await this.applyMiddleware(async ctx => {\n return await ins[listenerOptions.propertyKey].call(ins, data);\n });\n\n try {\n const result = await fn(ctx);\n if (result) {\n return channelWrapper.ack(data);\n }\n } catch (error) {\n this.logger.error(error);\n }\n }\n );\n }\n }\n }\n }\n\n public getFrameworkName() {\n return 'midway:rabbitmq';\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yCAAmE;AAA1D,sGAAA,uBAAuB,OAAa;AAC7C,8CAA4B;AAC5B,iDAAyE;AAAhE,8GAAA,qBAAqB,OAAiB","sourcesContent":["export { MidwayRabbitMQFramework as Framework } from './framework';\nexport * from './interface';\nexport { RabbitMQConfiguration as Configuration } from './configuration';\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":"","sourcesContent":["import {\n IConfigurationOptions,\n IMidwayApplication,\n IMidwayContext,\n NextFunction as BaseNextFunction\n} from '@midwayjs/core';\nimport { ConsumeMessage, Options } from 'amqplib/properties';\nimport { RabbitMQListenerOptions } from '@midwayjs/decorator';\nimport type { ConfirmChannel, Channel, Options as AmqpOptions } from 'amqplib';\n\nexport interface IRabbitMQApplication {\n connect(...args): Promise<void>;\n createChannel(): Promise<Channel | ConfirmChannel>;\n createConsumer(listenerOptions: RabbitMQListenerOptions, listenerCallback: (msg: ConsumeMessage | null, channel: Channel, channelWrapper) => Promise<void>): Promise<void>;\n close(): Promise<void>;\n}\n\nexport type IMidwayRabbitMQApplication = IMidwayApplication<IMidwayRabbitMQContext> & IRabbitMQApplication;\n\nexport interface IRabbitMQExchange {\n name: string,\n type: string,\n options?: Options.AssertExchange\n}\n\nexport interface IMidwayRabbitMQConfigurationOptions extends IConfigurationOptions {\n url: string | Options.Connect,\n socketOptions?: any;\n reconnectTime?: number;\n exchanges?: IRabbitMQExchange[];\n useConfirmChannel?: boolean;\n}\n\nexport type IMidwayRabbitMQContext = IMidwayContext<{\n channel: Channel;\n queueName: string;\n ack: (data: any) => void;\n}>;\n\nexport type Application = IMidwayRabbitMQApplication;\nexport interface Context extends IMidwayRabbitMQContext {}\nexport type NextFunction = BaseNextFunction;\nexport type DefaultConfig = string | AmqpOptions.Connect;\n\ndeclare module '@midwayjs/core/dist/interface' {\n interface MidwayConfig {\n rabbitMQServer?: PowerPartial<IMidwayRabbitMQConfigurationOptions>;\n }\n}\n\n"]}
package/dist/mq.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mq.js","sourceRoot":"","sources":["../src/mq.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * This RabbitMQ Server changed from https://github.com/JeniTurtle/egg-rabbitmq-plus/blob/master/rabbitmq.ts\n */\n\nimport * as amqp from 'amqp-connection-manager';\nimport { IRabbitMQApplication } from './interface';\nimport { ConsumeMessage } from 'amqplib/properties';\nimport { RabbitMQListenerOptions } from '@midwayjs/decorator';\nimport type { Channel } from 'amqplib';\nimport { ILogger } from '@midwayjs/logger';\nimport { EventEmitter } from 'events';\n\nexport class RabbitMQServer\n extends EventEmitter\n implements IRabbitMQApplication\n{\n protected channelManagerSet: Set<Channel> = new Set();\n protected connection: amqp.AmqpConnectionManager = null;\n protected logger: ILogger;\n protected reconnectTime;\n\n constructor(options: any = {}) {\n super();\n this.logger = options.logger;\n this.reconnectTime = options.reconnectTime ?? 10 * 1000;\n this.bindError();\n }\n\n bindError() {\n this.on('error', err => {\n this.logger.error(err);\n });\n }\n\n createChannel(isConfirmChannel = false): Promise<any> {\n if (!isConfirmChannel) {\n return this.connection.connection.createChannel();\n } else {\n return this.connection.connection.createConfirmChannel();\n }\n }\n\n async connect(url, socketOptions) {\n try {\n this.connection = await amqp.connect(url, socketOptions);\n this.connection.on('connect', () => {\n this.logger.info('Message Queue connected!');\n });\n this.connection.on('disconnect', err => {\n if (err) {\n if (err.err) {\n err = err.err as any;\n }\n this.logger.error('Message Queue disconnected', err);\n } else {\n this.logger.info('Message Queue disconnected!');\n }\n });\n } catch (error) {\n this.logger.error('Message Queue connect fail', error);\n await this.closeConnection();\n }\n }\n\n async createConsumer(\n listenerOptions: RabbitMQListenerOptions,\n listenerCallback: (\n msg: ConsumeMessage | null,\n channel: Channel,\n channelWrapper\n ) => Promise<void>\n ) {\n const channelWrapper = this.connection.createChannel({\n setup: (channel: Channel) => {\n // `channel` here is a regular amqplib `ConfirmChannel`.\n const channelHandlers = [];\n\n // create queue\n channelHandlers.push(\n channel.assertQueue(\n listenerOptions.queueName,\n Object.assign({ durable: true }, listenerOptions)\n )\n );\n\n if (listenerOptions.exchange) {\n // create exchange\n channelHandlers.push(\n channel.assertExchange(\n listenerOptions.exchange,\n listenerOptions.exchangeOptions?.type ?? 'topic',\n listenerOptions.exchangeOptions\n )\n );\n // bind exchange and queue\n channelHandlers.push(\n channel.bindQueue(\n listenerOptions.queueName,\n listenerOptions.exchange,\n listenerOptions.routingKey || listenerOptions.pattern,\n listenerOptions.exchangeOptions\n )\n );\n }\n\n channelHandlers.push(channel.prefetch(listenerOptions.prefetch ?? 1));\n\n // listen queue\n channelHandlers.push(\n channel.consume(\n listenerOptions.queueName,\n async msg => {\n await listenerCallback(msg, channel, channelWrapper);\n },\n listenerOptions.consumeOptions\n )\n );\n\n return Promise.all(channelHandlers);\n },\n json: true,\n });\n return channelWrapper.waitForConnect();\n }\n\n protected async closeConnection() {\n try {\n if (this.connection) {\n await this.connection.close();\n }\n this.logger.debug('Message Queue connection close success');\n } catch (err) {\n this.logger.error('Message Queue connection close error', err);\n } finally {\n this.connection = null;\n }\n }\n\n async close() {\n this.logger.debug('Message Queue will be close');\n await this.closeConnection();\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@midwayjs/rabbitmq",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "description": "Midway Framework for rabbitmq",
5
5
  "main": "dist/index",
6
6
  "typings": "dist/index.d.ts",
@@ -19,18 +19,19 @@
19
19
  ],
20
20
  "files": [
21
21
  "dist/**/*.js",
22
- "dist/**/*.d.ts"
22
+ "dist/**/*.d.ts",
23
+ "dist/**/*.js.map"
23
24
  ],
24
25
  "license": "MIT",
25
26
  "devDependencies": {
26
- "@midwayjs/decorator": "^3.0.0",
27
- "@midwayjs/mock": "^3.0.1",
27
+ "@midwayjs/decorator": "^3.0.2",
28
+ "@midwayjs/mock": "^3.0.2",
28
29
  "@types/amqplib": "0.8.2",
29
30
  "amqplib": "0.8.0",
30
31
  "fs-extra": "10.0.0"
31
32
  },
32
33
  "dependencies": {
33
- "@midwayjs/core": "^3.0.1",
34
+ "@midwayjs/core": "^3.0.2",
34
35
  "@midwayjs/logger": "^2.14.0",
35
36
  "amqp-connection-manager": "4.0.1"
36
37
  },
@@ -46,5 +47,5 @@
46
47
  "engines": {
47
48
  "node": ">=12"
48
49
  },
49
- "gitHead": "f345b4ed0392e5c3b9e815438ef0a377ad6da076"
50
+ "gitHead": "ca77247d229978a736e79bb208579c014ed226fc"
50
51
  }