OOP Rabbit
npm install badman-data-rabbit-starter
Rabbit AMQP0.9 MiddleSoft
Demo API:
Declare Instances:
export default class DemoConsumer implements RabbitConsumer
private rabbitAdminTemplate:RabbitAdminTemplate;
constructor () {
this.rabbitAdminTemplate = SingletonObjectFactory2.Instance
}
async consume (channel: Channel, message: ConsumeMessage): Promise
try {
doSometing();
} catch (e) {
this.logger.debug('Error->',e);
}
return ;
}
}
export default class DemoProducer implements RabbitConsumer
private rabbitTemplate:RabbitTemplate
constructor () {
this.rabbitTemplate = SingletonObjectFactory2.Instance
}
send(){
this.rabbitTemplate.send(......);
}
}
async loadRabbit(){
this.logging = await SingletonObjectFactory2.initWithArgs
let rabbitProperties:RabbitProperties = {};
let rabbitConnectionFactory:RabbitConnectionFactory = await SingletonObjectFactory2.initWithArgs
[rabbitProperties,this.logging.logger(AmqpConnectionFactory.name)]);
this.rabbitAdminTemplate = await SingletonObjectFactory2.initWithArgs
[this.logging.logger(RabbitAdminTemplate.name),rabbitConnectionFactory]);
this.rabbitTemplate = await SingletonObjectFactory2.initWithArgs
[this.logging.logger(RabbitTemplate.name),rabbitConnectionFactory]);
this.rabbitAdminTemplate.declareAckConsumer('queueName',new DemoConsumer());
}