🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

c4-mq

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

c4-mq - npm Package Compare versions

Comparing version
0.0.4
to
0.0.5
+29
out/C4MQHelper.d.ts
import C4MQ from './C4MQ';
import C4Publisher from './C4Publisher';
import C4Subscriber from './C4Subscriber';
import { IC4MQHelperOptions } from './C4MQTypes/C4MQTypes';
declare class MQHelper {
protected mConnections: {
[name: string]: C4MQ;
};
protected mPublishers: {
[name: string]: C4Publisher;
};
protected mSubscribers: {
[name: string]: C4Subscriber;
};
protected mSubscribeLater: {
[name: string]: C4Subscriber;
};
protected mbInit: boolean;
protected mLogger: any;
constructor();
init(options: IC4MQHelperOptions, logger: any): Promise<boolean>;
_loadHandler(subscribe: C4Subscriber, arg: string[] | any[], loadPaths: string[], handlerType: string): Promise<boolean>;
subscribe(): Promise<boolean>;
getPublisher(name: string): C4Publisher;
getSubscriber(name: string): C4Subscriber;
static sHelper: MQHelper | null;
static create(options: IC4MQHelperOptions, logger: any): Promise<MQHelper | null>;
}
export default MQHelper;
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const C4MQ_1 = __importDefault(require("./C4MQ"));
const C4Publisher_1 = __importDefault(require("./C4Publisher"));
const C4Subscriber_1 = __importDefault(require("./C4Subscriber"));
const c4utils_1 = require("c4utils");
const __ = __importStar(require("lodash"));
class MQHelper {
constructor() {
this.mConnections = {};
this.mPublishers = {};
this.mSubscribers = {};
this.mSubscribeLater = {};
this.mbInit = false;
this.mLogger = console;
}
init(options, logger) {
return __awaiter(this, void 0, void 0, function* () {
if (this.mbInit) {
this.mLogger.warn('MQHelpler Repeated initialization.');
return true;
}
this.mLogger = console;
if (logger) {
this.mLogger = logger;
}
if (__.isNil(this.mLogger.err)) {
this.mLogger.err = this.mLogger.error;
}
if (__.isNil(this.mLogger.debug)) {
this.mLogger.debug = this.mLogger.info;
}
const self = this;
this.mLogger.info('MQHelper init...');
if (c4utils_1.TypeUtils.isEmptyArray(options.connections)) {
this.mLogger.warn('MQHelper get empty connections options.');
return true;
}
// init mq connections
this.mLogger.info('MQHelper init connections.');
for (let i = 0; i < options.connections.length; i++) {
const curOption = options.connections[i];
const tempOption = __.cloneDeep(curOption);
const connection = new C4MQ_1.default();
delete tempOption.name;
try {
yield connection.init(tempOption, this.mLogger);
}
catch (error) {
this.mLogger.error(error);
return false;
}
this.mConnections[curOption.name] = connection;
}
// init publishers
if (c4utils_1.TypeUtils.isArray(options.publishers)
&& !c4utils_1.TypeUtils.isEmptyArray(options.publishers)) {
this.mLogger.info('MQHelper init publishers.');
for (let i = 0; i < options.publishers.length; i++) {
const curOption = options.publishers[i];
if (c4utils_1.TypeUtils.isEmptyObj(curOption)) {
continue;
}
if (c4utils_1.TypeUtils.isEmptyObj(this.mPublishers[curOption.name])) {
const connName = curOption.connection.replace(/^{MQConnections:[\s]*/g, '').replace(/[\s]*}/g, '');
const connection = this.mConnections[connName];
if (c4utils_1.TypeUtils.isEmptyObj(connection)) {
this.mLogger.error(`MQHelper init publisher can't find connection : ${connName}.`);
return false;
}
const tempOption = __.cloneDeep(curOption);
delete tempOption.connection;
const publisher = new C4Publisher_1.default();
const res = yield publisher.init(connection, tempOption, this.mLogger).catch((err) => {
self.mLogger.error(err);
return false;
});
if (!res) {
return false;
}
this.mPublishers[curOption.name] = publisher;
}
}
}
let curHandlerType = options.handlerType;
if (!c4utils_1.TypeUtils.isString(curHandlerType)
|| (curHandlerType !== "standard" && curHandlerType !== "")) {
curHandlerType = "";
}
// init subscribers
if (c4utils_1.TypeUtils.isArray(options.subscribers)
&& !c4utils_1.TypeUtils.isEmptyArray(options.subscribers)) {
this.mLogger.info('MQHelper init subscribers.');
for (let i = 0; i < options.subscribers.length; i++) {
const curOption = options.subscribers[i];
if (c4utils_1.TypeUtils.isEmptyObj(curOption)) {
continue;
}
if (c4utils_1.TypeUtils.isEmptyObj(this.mSubscribers[curOption.name])) {
const connName = curOption.connection.replace(/^{MQConnections:[\s]*/g, '').replace(/[\s]*}/g, '');
const connection = this.mConnections[connName];
if (c4utils_1.TypeUtils.isEmptyObj(connection)) {
this.mLogger.error(`MQHelper init subscriber can't find connection : ${connName}.`);
return false;
}
const tempOption = __.cloneDeep(curOption);
delete tempOption.connection;
const subscriber = new C4Subscriber_1.default();
let res = yield subscriber.init(connection, tempOption, this.mLogger).catch((err) => {
self.mLogger.error(err);
return false;
});
if (!res) {
return false;
}
// load handler
res = yield this._loadHandler(subscriber, curOption.handlers, options.handlerLoadPaths, curHandlerType).then(() => true).catch((err) => {
self.mLogger.error(err);
return false;
});
if (!res) {
return false;
}
this.mSubscribers[curOption.name] = subscriber;
if (curOption.subscribeLater) {
this.mSubscribeLater[curOption.name] = subscriber;
}
else {
res = yield subscriber.subscribe().then(() => true).catch((err) => {
self.mLogger.error(err);
return false;
});
if (!res) {
return false;
}
}
}
}
}
return true;
});
}
_loadHandler(subscribe, arg, loadPaths, handlerType) {
return __awaiter(this, void 0, void 0, function* () {
if (handlerType === "standard") {
yield subscribe.addMQHandler(arg);
}
else {
const handlers = c4utils_1.FSP.getModulesEx(arg, loadPaths, '', false);
for (let i = 0; i < handlers.length; i++) {
subscribe.addSubscribe(handlers[i]());
}
}
return true;
});
}
subscribe() {
return __awaiter(this, void 0, void 0, function* () {
for (const key in this.mSubscribeLater) {
const curSub = this.mSubscribeLater[key];
yield curSub.subscribe();
}
return true;
});
}
getPublisher(name) {
return this.mPublishers[name];
}
getSubscriber(name) {
return this.mSubscribers[name];
}
static create(options, logger) {
return __awaiter(this, void 0, void 0, function* () {
if (this.sHelper !== null) {
return MQHelper.sHelper;
}
const curLogger = logger || console;
const curHelper = new MQHelper();
const res = yield curHelper.init(options, curLogger);
if (!res) {
return null;
}
yield curHelper.subscribe();
MQHelper.sHelper = curHelper;
return curHelper;
});
}
}
MQHelper.sHelper = null;
exports.default = MQHelper;
//# sourceMappingURL=C4MQHelper.js.map
{"version":3,"file":"C4MQHelper.js","sourceRoot":"","sources":["../src/C4MQHelper.ts"],"names":[],"mappings":"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"}
import C4MQ from './C4MQ';
import C4Publisher from './C4Publisher';
import C4Subscriber from './C4Subscriber';
import { TypeUtils, FSP } from 'c4utils';
import * as __ from 'lodash';
import { IC4MQHelperOptions } from './C4MQTypes/C4MQTypes';
class MQHelper {
protected mConnections: {[name: string]: C4MQ} = {};
protected mPublishers: {[name: string]: C4Publisher} = {};
protected mSubscribers: {[name: string]: C4Subscriber} = {};
protected mSubscribeLater: {[name: string]: C4Subscriber} = {};
protected mbInit: boolean = false;
protected mLogger: any = console;
constructor() {}
async init(options: IC4MQHelperOptions, logger: any) {
if (this.mbInit) {
this.mLogger.warn('MQHelpler Repeated initialization.');
return true;
}
this.mLogger = console;
if (logger) {
this.mLogger = logger;
}
if (__.isNil(this.mLogger.err)) {
this.mLogger.err = this.mLogger.error;
}
if (__.isNil(this.mLogger.debug)) {
this.mLogger.debug = this.mLogger.info;
}
const self = this;
this.mLogger.info('MQHelper init...');
if (TypeUtils.isEmptyArray(options.connections)) {
this.mLogger.warn('MQHelper get empty connections options.');
return true;
}
// init mq connections
this.mLogger.info('MQHelper init connections.');
for (let i = 0; i < options.connections.length; i++) {
const curOption = options.connections[i];
const tempOption = __.cloneDeep(curOption);
const connection = new C4MQ();
delete tempOption.name;
try {
await connection.init(tempOption, this.mLogger);
} catch (error) {
this.mLogger.error(error);
return false;
}
this.mConnections[curOption.name] = connection;
}
// init publishers
if (TypeUtils.isArray(options.publishers)
&& !TypeUtils.isEmptyArray(options.publishers)) {
this.mLogger.info('MQHelper init publishers.');
for (let i = 0; i < options.publishers.length; i++) {
const curOption = options.publishers[i];
if (TypeUtils.isEmptyObj(curOption)) {
continue;
}
if (TypeUtils.isEmptyObj(this.mPublishers[curOption.name])) {
const connName = curOption.connection.replace(/^{MQConnections:[\s]*/g, '').replace(/[\s]*}/g, '');
const connection = this.mConnections[connName];
if (TypeUtils.isEmptyObj(connection)) {
this.mLogger.error(`MQHelper init publisher can't find connection : ${connName}.`);
return false;
}
const tempOption = __.cloneDeep(curOption);
delete tempOption.connection;
const publisher = new C4Publisher();
const res = await publisher.init(connection, tempOption, this.mLogger).catch((err) => {
self.mLogger.error(err);
return false;
});
if (!res) {
return false;
}
this.mPublishers[curOption.name] = publisher;
}
}
}
let curHandlerType = options.handlerType;
if (!TypeUtils.isString(curHandlerType)
|| (curHandlerType !== "standard" && curHandlerType !== "")) {
curHandlerType = "";
}
// init subscribers
if (TypeUtils.isArray(options.subscribers)
&& !TypeUtils.isEmptyArray(options.subscribers)) {
this.mLogger.info('MQHelper init subscribers.');
for (let i = 0; i < options.subscribers.length; i++) {
const curOption = options.subscribers[i];
if (TypeUtils.isEmptyObj(curOption)) {
continue;
}
if (TypeUtils.isEmptyObj(this.mSubscribers[curOption.name])) {
const connName = curOption.connection.replace(/^{MQConnections:[\s]*/g, '').replace(/[\s]*}/g, '');
const connection = this.mConnections[connName];
if (TypeUtils.isEmptyObj(connection)) {
this.mLogger.error(`MQHelper init subscriber can't find connection : ${connName}.`);
return false;
}
const tempOption = __.cloneDeep(curOption);
delete tempOption.connection;
const subscriber = new C4Subscriber();
let res = await subscriber.init(connection, tempOption, this.mLogger).catch((err) => {
self.mLogger.error(err);
return false;
});
if (!res) {
return false;
}
// load handler
res = await this._loadHandler(subscriber, curOption.handlers, options.handlerLoadPaths, curHandlerType).then(() => true).catch((err) => {
self.mLogger.error(err);
return false;
});
if (!res) {
return false;
}
this.mSubscribers[curOption.name] = subscriber;
if (curOption.subscribeLater) {
this.mSubscribeLater[curOption.name] = subscriber;
} else {
res = await subscriber.subscribe().then(() => true).catch((err) => {
self.mLogger.error(err);
return false;
});
if (!res) {
return false;
}
}
}
}
}
return true;
}
async _loadHandler(subscribe: C4Subscriber, arg: string[] | any[], loadPaths: string[], handlerType: string) {
if (handlerType === "standard") {
await subscribe.addMQHandler(arg);
} else {
const handlers = FSP.getModulesEx(arg, loadPaths, '', false);
for (let i = 0; i < handlers.length; i++) {
subscribe.addSubscribe(handlers[i]());
}
}
return true;
}
async subscribe() {
for (const key in this.mSubscribeLater) {
const curSub = this.mSubscribeLater[key];
await curSub.subscribe();
}
return true;
}
public getPublisher(name: string) {
return this.mPublishers[name];
}
getSubscriber(name: string) {
return this.mSubscribers[name];
}
static sHelper: MQHelper | null = null;
static async create(options: IC4MQHelperOptions, logger: any) {
if (this.sHelper !== null) {
return MQHelper.sHelper;
}
const curLogger = logger || console;
const curHelper = new MQHelper();
const res = await curHelper.init(options, curLogger);
if (!res) {
return null;
}
await curHelper.subscribe();
MQHelper.sHelper = curHelper;
return curHelper;
}
}
export default MQHelper;
+1
-1

@@ -20,3 +20,3 @@ "use strict";

];
if (c4utils_1.TypeUtils.isArray(arg) && arg.length > 0) {
if (c4utils_1.TypeUtils.isArray(arg) && arg.length > 0 && c4utils_1.TypeUtils.isString(arg[0])) {
let Models = [];

@@ -23,0 +23,0 @@ for (let i = 0; i < TargetDir.length; i++) {

@@ -1,1 +0,1 @@

{"version":3,"file":"MQHandlerUtils.js","sourceRoot":"","sources":["../../src/Annotation/MQHandlerUtils.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"MQHandlerUtils.js","sourceRoot":"","sources":["../../src/Annotation/MQHandlerUtils.ts"],"names":[],"mappings":"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"}

@@ -316,1 +316,19 @@ export interface ConnectionOptions {

export declare const DEFAULT_ROUTE = "@_Default_Route_@";
export interface IExtConnectionOptions extends ConnectionOptions {
name: string;
}
export interface IExtPublisherOption extends C4PublisherOption {
connection: string;
}
export interface IExtSubscriberOption extends C4SubscriberOption {
connection: string;
handlers: string[] | any[];
subscribeLater: boolean;
}
export interface IC4MQHelperOptions {
connections: IExtConnectionOptions[];
publishers: IExtPublisherOption[];
subscribers: IExtSubscriberOption[];
handlerLoadPaths: string[];
handlerType?: "standard" | "";
}

@@ -10,2 +10,3 @@ import * as C4MQTypes from './C4MQTypes/C4MQTypes';

import * as C4MQAnnotationUtils from './Annotation/MQHandlerUtils';
export { C4MQTypes, C4MQ, C4Exchange, C4Queue, C4Publisher, C4Subscriber, C4MQAnnotation, C4MQAnnotationOption, C4MQAnnotationUtils };
import C4MQHelper from './C4MQHelper';
export { C4MQTypes, C4MQ, C4Exchange, C4Queue, C4Publisher, C4Subscriber, C4MQAnnotation, C4MQAnnotationOption, C4MQAnnotationUtils, C4MQHelper };

@@ -31,2 +31,4 @@ "use strict";

exports.C4MQAnnotationUtils = C4MQAnnotationUtils;
const C4MQHelper_1 = __importDefault(require("./C4MQHelper"));
exports.C4MQHelper = C4MQHelper_1.default;
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAAqD;AAWjD,8BAAS;AAVb,kDAAsC;AAUvB,eAVR,cAAI,CAUQ;AATnB,8DAA4C;AASvB,qBATd,oBAAU,CASc;AAR/B,wDAAyC;AAQR,kBAR1B,iBAAO,CAQ0B;AAPxC,gEAA6C;AAQzC,sBARG,qBAAW,CAQH;AAPf,kEAA8C;AAO7B,uBAPV,sBAAY,CAOU;AAN7B,uEAAkE;AAO9D,wCAAc;AANlB,iFAAsE;AAMlD,oDAAoB;AALxC,iFAAuE;AAK7B,kDAAmB"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAAmD;AAY/C,8BAAS;AAXb,kDAA0B;AAWX,eAXR,cAAI,CAWQ;AAVnB,8DAAsC;AAUjB,qBAVd,oBAAU,CAUc;AAT/B,wDAAgC;AASC,kBAT1B,iBAAO,CAS0B;AARxC,gEAAwC;AASpC,sBATG,qBAAW,CASH;AARf,kEAA0C;AAQzB,uBARV,sBAAY,CAQU;AAP7B,uEAAyD;AAQrD,wCAAc;AAPlB,iFAAmE;AAO/C,oDAAoB;AANxC,iFAAmE;AAMzB,kDAAmB;AAL7D,8DAAsC;AAMlC,qBANG,oBAAU,CAMH"}

@@ -14,9 +14,6 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const C4MQ_1 = __importDefault(require("./C4MQ"));
const C4Publisher_1 = __importDefault(require("./C4Publisher"));
const C4Subscriber_1 = __importDefault(require("./C4Subscriber"));
const testHandler_1 = require("./testHandler");
const C4MQHelper_1 = __importDefault(require("./C4MQHelper"));
let MQConn;
let CurPublihser;
let CurPublihser2;
// let CurPublihser2 : C4Publisher;
let CurSubscriber;

@@ -34,6 +31,6 @@ let Count = 0;

});
CurPublihser2.publish({
msgType: "Test",
msg: Count + 10
}, "testKey1");
// CurPublihser2.publish({
// msgType : "Test",
// msg : Count + 10
// }, "testKey1")
if (Count > 10) {

@@ -51,67 +48,119 @@ End = (new Date()).getTime();

return __awaiter(this, void 0, void 0, function* () {
MQConn = new C4MQ_1.default();
try {
yield MQConn.init({
host: "host",
port: 5672,
login: "user",
password: "password",
connectionTimeout: 30000,
authMechanism: "AMQPLAIN",
vhost: "/",
noDelay: true,
heartbeat: 50,
clientProperties: {
applicationName: "C4MQ"
const curHelper = yield C4MQHelper_1.default.create({
connections: [
{
name: "TestMQConnection",
host: "",
port: 5672,
login: "",
password: "",
connectionTimeout: 30000,
authMechanism: "AMQPLAIN",
vhost: "/",
noDelay: true,
heartbeat: 50,
clientProperties: {
applicationName: "C4MQ"
}
}
}, console);
}
catch (error) {
console.log(error);
process.exit(-1);
}
CurPublihser = new C4Publisher_1.default();
let Res = yield CurPublihser.init(MQConn, {
name: "C4MQTestExchange0",
routingKey: "testKey",
type: 'direct',
durable: true,
autoDelete: false,
confirm: true,
publicOption: {}
],
publishers: [
{
name: "TestPublisher",
connection: "TestMQConnection",
routingKey: "testKey",
type: "direct",
durable: true,
autoDelete: false,
confirm: true,
publicOption: {}
}
],
subscribers: [
{
name: "TestSubscriber",
connection: "TestMQConnection",
publisherName: "TestPublisher",
durable: true,
autoDelete: false,
handlers: ["Hello"],
subscribeLater: false
}
],
handlerLoadPaths: [
'./out/MQHandlers'
],
handlerType: "standard"
}, console);
CurPublihser2 = new C4Publisher_1.default();
Res = yield CurPublihser2.init(MQConn, {
name: "C4MQTestExchange2",
routingKey: "testKey1",
type: 'topic',
durable: true,
autoDelete: false,
confirm: true,
publicOption: {}
}, console);
if (!Res) {
process.exit(-1);
if (curHelper) {
CurPublihser = curHelper.getPublisher("TestPublisher");
Begin = (new Date()).getTime();
Publish();
}
CurSubscriber = new C4Subscriber_1.default();
Res = yield CurSubscriber.init(MQConn, {
name: "C4MQTestQueue0",
publisherName: "C4MQTestExchange0",
durable: true,
autoDelete: false
}, console);
if (!Res) {
process.exit(-1);
}
if (!Res) {
process.exit(-1);
}
CurSubscriber.addMQHandler(["Hello"]);
CurSubscriber.addSubscribe(testHandler_1.defineHandler());
// CurSubscriber.addSubscribe({
// //
// });
yield CurSubscriber.subscribe();
Begin = (new Date()).getTime();
Publish();
// MQConn = new C4MQ();
// try {
// await MQConn.init({
// host : "", // <any>[ "host0", "host1", "host2" ] // 连接Cluster
// port : 5672,
// login : "",
// password : "",
// connectionTimeout : 30000,
// authMechanism : "AMQPLAIN",
// vhost : "/",
// noDelay : true,
// heartbeat : 50,
// clientProperties : {
// applicationName : "C4MQ"
// }
// }, console);
// } catch (error) {
// console.log(error);
// process.exit(-1);
// }
// CurPublihser = new C4Publisher();
// let Res = await CurPublihser.init(MQConn, {
// name : "C4MQTestExchange0",
// routingKey : "testKey",
// type : 'direct',
// durable : true,
// autoDelete : false,
// confirm : true,
// publicOption : {
// }
// }, console);
// CurPublihser2 = new C4Publisher();
// Res = await CurPublihser2.init(MQConn, {
// name : "C4MQTestExchange2",
// routingKey : "testKey1",
// type : 'topic',
// durable : true,
// autoDelete : false,
// confirm : true,
// publicOption : {
// }
// }, console)
// if (!Res) {
// process.exit(-1);
// }
// CurSubscriber = new C4Subscriber();
// let Res = await CurSubscriber.init(MQConn, {
// name : "C4MQTestQueue0",
// publisherName : "C4MQTestExchange0",
// durable : true,
// autoDelete : false
// }, console);
// if (!Res) {
// process.exit(-1);
// }
// if (!Res) {
// process.exit(-1);
// }
// CurSubscriber.addMQHandler(["Hello"]);
// CurSubscriber.addSubscribe(defineHandler());
// // CurSubscriber.addSubscribe({
// // //
// // });
// await CurSubscriber.subscribe();
// Begin = (new Date()).getTime();
// Publish();
//

@@ -118,0 +167,0 @@ });

@@ -1,1 +0,1 @@

{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}

@@ -48,3 +48,3 @@ "use strict";

MQHandler_1.MQHandler({
PublisherName: "C4MQTestExchange0",
PublisherName: "TestPublisher",
RoutingKey: "testKey",

@@ -62,3 +62,3 @@ MsgType: "Hello"

MQHandler_1.MQHandler({
PublisherName: "C4MQTestExchange2",
PublisherName: "TestPublisher",
RoutingKey: "testKey1",

@@ -65,0 +65,0 @@ MsgType: "Test"

@@ -1,1 +0,1 @@

{"version":3,"file":"Hello.js","sourceRoot":"","sources":["../../src/MQHandlers/Hello.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA6D;AAE7D,MAAqB,KAAK;IAOtB,MAAM,CAAO,IAAI,CAEd,GAAY;;YAEX,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClC,UAAU,CAAC,GAAG,EAAE;oBACZ,OAAO,EAAE,CAAC;gBACd,CAAC,EAAE,IAAI,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnD,CAAC;KAAA;IAOD,MAAM,CAAO,UAAU,CAEpB,GAAY;;YACX,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClC,UAAU,CAAC,GAAG,EAAE;oBACZ,OAAO,EAAE,CAAC;gBACd,CAAC,EAAE,IAAI,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnD,CAAC;KAAA;CACJ;AA3BG;IALC,qBAAS,CAAC;QACP,aAAa,EAAG,mBAAmB;QACnC,UAAU,EAAG,SAAS;QACtB,OAAO,EAAG,OAAO;KACpB,CAAC;IACiB,WAAA,mBAAO,CAAC;QACvB,KAAK,EAAG,KAAK;KAChB,CAAC,CAAA;;;;uBAQD;AAOD;IALC,qBAAS,CAAC;QACP,aAAa,EAAG,mBAAmB;QACnC,UAAU,EAAG,UAAU;QACvB,OAAO,EAAG,MAAM;KACnB,CAAC;IACuB,WAAA,mBAAO,CAAC;QAC7B,KAAK,EAAG,KAAK;KAChB,CAAC,CAAA;;;;6BAOD;AAjCL,wBAkCC"}
{"version":3,"file":"Hello.js","sourceRoot":"","sources":["../../src/MQHandlers/Hello.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA6D;AAE7D,MAAqB,KAAK;IAOtB,MAAM,CAAO,IAAI,CAEd,GAAY;;YAEX,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClC,UAAU,CAAC,GAAG,EAAE;oBACZ,OAAO,EAAE,CAAC;gBACd,CAAC,EAAE,IAAI,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnD,CAAC;KAAA;IAOD,MAAM,CAAO,UAAU,CAEpB,GAAY;;YACX,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClC,UAAU,CAAC,GAAG,EAAE;oBACZ,OAAO,EAAE,CAAC;gBACd,CAAC,EAAE,IAAI,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QACnD,CAAC;KAAA;CACJ;AA3BG;IALC,qBAAS,CAAC;QACP,aAAa,EAAG,eAAe;QAC/B,UAAU,EAAG,SAAS;QACtB,OAAO,EAAG,OAAO;KACpB,CAAC;IACiB,WAAA,mBAAO,CAAC;QACvB,KAAK,EAAG,KAAK;KAChB,CAAC,CAAA;;;;uBAQD;AAOD;IALC,qBAAS,CAAC;QACP,aAAa,EAAG,eAAe;QAC/B,UAAU,EAAG,UAAU;QACvB,OAAO,EAAG,MAAM;KACnB,CAAC;IACuB,WAAA,mBAAO,CAAC;QAC7B,KAAK,EAAG,KAAK;KAChB,CAAC,CAAA;;;;6BAOD;AAjCL,wBAkCC"}
{
"name": "c4-mq",
"version": "0.0.4",
"version": "0.0.5",
"description": "C4FrameworkMQ",

@@ -24,7 +24,9 @@ "main": "out",

"@types/glob": "^5.0.35",
"@types/lodash": "^4.14.119",
"amqp": "^0.2.6",
"c4utils": "0.0.4",
"glob": "^7.1.2",
"lodash": "^4.17.11",
"reflect-metadata": "^0.1.12"
}
}

@@ -14,3 +14,3 @@ import glob = require('glob');

if (TypeUtils.isArray(arg) && arg.length > 0) {
if (TypeUtils.isArray(arg) && arg.length > 0 && TypeUtils.isString(arg[0])) {
let Models : any[] = [];

@@ -17,0 +17,0 @@ for (let i = 0; i < TargetDir.length; i++) {

@@ -365,1 +365,23 @@ export interface ConnectionOptions {

export const DEFAULT_ROUTE = "@_Default_Route_@"
export interface IExtConnectionOptions extends ConnectionOptions {
name: string;
}
export interface IExtPublisherOption extends C4PublisherOption {
connection: string;
}
export interface IExtSubscriberOption extends C4SubscriberOption {
connection: string;
handlers: string[] | any[];
subscribeLater: boolean;
}
export interface IC4MQHelperOptions {
connections: IExtConnectionOptions[];
publishers: IExtPublisherOption[];
subscribers: IExtSubscriberOption[];
handlerLoadPaths: string[];
handlerType?: "standard" | "";
}

@@ -1,10 +0,11 @@

import * as C4MQTypes from './C4MQTypes/C4MQTypes';
import C4MQ from './C4MQ';
import C4Exchange from './C4Exchange';
import C4Queue from './C4Queue';
import C4Publisher from './C4Publisher';
import C4Subscriber from './C4Subscriber';
import * as C4MQAnnotation from './Annotation/MQHandler';
import * as C4MQAnnotationOption from './Annotation/MQHandlerType';
import * as C4MQAnnotationUtils from './Annotation/MQHandlerUtils';
import * as C4MQTypes from './C4MQTypes/C4MQTypes';
import C4MQ from './C4MQ';
import C4Exchange from './C4Exchange';
import C4Queue from './C4Queue';
import C4Publisher from './C4Publisher';
import C4Subscriber from './C4Subscriber';
import * as C4MQAnnotation from './Annotation/MQHandler';
import * as C4MQAnnotationOption from './Annotation/MQHandlerType';
import * as C4MQAnnotationUtils from './Annotation/MQHandlerUtils';
import C4MQHelper from './C4MQHelper';

@@ -14,5 +15,6 @@ export {

C4Publisher, C4Subscriber,
C4MQAnnotation, C4MQAnnotationOption, C4MQAnnotationUtils
C4MQAnnotation, C4MQAnnotationOption, C4MQAnnotationUtils,
C4MQHelper
};

@@ -0,1 +1,2 @@

import C4MQHelper from './C4MQHelper';
import C4MQ from "./C4MQ";

@@ -8,3 +9,3 @@ import C4Publisher from "./C4Publisher";

let CurPublihser : C4Publisher;
let CurPublihser2 : C4Publisher;
// let CurPublihser2 : C4Publisher;
let CurSubscriber : C4Subscriber;

@@ -26,6 +27,6 @@

CurPublihser2.publish({
msgType : "Test",
msg : Count + 10
}, "testKey1")
// CurPublihser2.publish({
// msgType : "Test",
// msg : Count + 10
// }, "testKey1")

@@ -43,76 +44,133 @@ if (Count > 10) {

async function Launch() {
MQConn = new C4MQ();
try {
await MQConn.init({
host : "host", // <any>[ "host0", "host1", "host2" ] // 连接Cluster
port : 5672,
login : "user",
password : "password",
connectionTimeout : 30000,
authMechanism : "AMQPLAIN",
vhost : "/",
noDelay : true,
heartbeat : 50,
clientProperties : {
applicationName : "C4MQ"
}
}, console);
} catch (error) {
console.log(error);
process.exit(-1);
}
CurPublihser = new C4Publisher();
let Res = await CurPublihser.init(MQConn, {
name : "C4MQTestExchange0",
routingKey : "testKey",
type : 'direct',
durable : true,
autoDelete : false,
confirm : true,
publicOption : {
const curHelper = await C4MQHelper.create({
connections: [
{
name: "TestMQConnection",
host: "", // <any>[ "host0", "host1", "host2" ] // 连接Cluster
port: 5672,
login: "",
password: "",
connectionTimeout: 30000,
authMechanism: "AMQPLAIN",
vhost: "/",
noDelay: true,
heartbeat: 50,
clientProperties: {
applicationName: "C4MQ"
}
}, console);
}
],
publishers: [
{
name: "TestPublisher",
connection: "TestMQConnection",
routingKey: "testKey",
type: "direct",
durable: true,
autoDelete: false,
confirm: true,
publicOption: {}
}
],
subscribers: [
{
name: "TestSubscriber",
connection: "TestMQConnection",
publisherName: "TestPublisher",
durable: true,
autoDelete: false,
handlers: ["Hello"],
subscribeLater: false
}
],
handlerLoadPaths: [
'./out/MQHandlers'
],
handlerType: "standard"
}, console);
CurPublihser2 = new C4Publisher();
Res = await CurPublihser2.init(MQConn, {
name : "C4MQTestExchange2",
routingKey : "testKey1",
type : 'topic',
durable : true,
autoDelete : false,
confirm : true,
publicOption : {
if (curHelper) {
CurPublihser = curHelper.getPublisher("TestPublisher");
Begin = (new Date()).getTime();
Publish();
}
}
}, console)
if (!Res) {
process.exit(-1);
}
CurSubscriber = new C4Subscriber();
Res = await CurSubscriber.init(MQConn, {
name : "C4MQTestQueue0",
publisherName : "C4MQTestExchange0",
durable : true,
autoDelete : false
}, console);
if (!Res) {
process.exit(-1);
}
if (!Res) {
process.exit(-1);
}
// MQConn = new C4MQ();
// try {
// await MQConn.init({
// host : "", // <any>[ "host0", "host1", "host2" ] // 连接Cluster
// port : 5672,
// login : "",
// password : "",
// connectionTimeout : 30000,
// authMechanism : "AMQPLAIN",
// vhost : "/",
// noDelay : true,
// heartbeat : 50,
// clientProperties : {
// applicationName : "C4MQ"
// }
// }, console);
// } catch (error) {
// console.log(error);
// process.exit(-1);
// }
CurSubscriber.addMQHandler(["Hello"]);
CurSubscriber.addSubscribe(defineHandler());
// CurSubscriber.addSubscribe({
// //
// });
await CurSubscriber.subscribe();
Begin = (new Date()).getTime();
Publish();
// CurPublihser = new C4Publisher();
// let Res = await CurPublihser.init(MQConn, {
// name : "C4MQTestExchange0",
// routingKey : "testKey",
// type : 'direct',
// durable : true,
// autoDelete : false,
// confirm : true,
// publicOption : {
// }
// }, console);
// CurPublihser2 = new C4Publisher();
// Res = await CurPublihser2.init(MQConn, {
// name : "C4MQTestExchange2",
// routingKey : "testKey1",
// type : 'topic',
// durable : true,
// autoDelete : false,
// confirm : true,
// publicOption : {
// }
// }, console)
// if (!Res) {
// process.exit(-1);
// }
// CurSubscriber = new C4Subscriber();
// let Res = await CurSubscriber.init(MQConn, {
// name : "C4MQTestQueue0",
// publisherName : "C4MQTestExchange0",
// durable : true,
// autoDelete : false
// }, console);
// if (!Res) {
// process.exit(-1);
// }
// if (!Res) {
// process.exit(-1);
// }
// CurSubscriber.addMQHandler(["Hello"]);
// CurSubscriber.addSubscribe(defineHandler());
// // CurSubscriber.addSubscribe({
// // //
// // });
// await CurSubscriber.subscribe();
// Begin = (new Date()).getTime();
// Publish();
//

@@ -119,0 +177,0 @@ }

@@ -6,3 +6,3 @@ import { MQHandler, MsgBody } from "../Annotation/MQHandler";

@MQHandler({
PublisherName : "C4MQTestExchange0",
PublisherName : "TestPublisher",
RoutingKey : "testKey",

@@ -24,3 +24,3 @@ MsgType : "Hello"

@MQHandler({
PublisherName : "C4MQTestExchange2",
PublisherName : "TestPublisher",
RoutingKey : "testKey1",

@@ -27,0 +27,0 @@ MsgType : "Test"