Function: Create an AMQP Subscription

by Simon Sparks · 9 June 2021

To use this function add it to the class library file named OrchestratorService.ts

GitHub Repository: https://github.com/SimonSparksUK/Orchestrator

Filename: OrchestratorService.ts

Description: Orchestrator Function to Create an AMQP Subscription

Function AMQPSubscriptionCreate

public AMQPSubscriptionCreate(strName: string, strFQDN: string, strUsername: string, strPassword: string, strExchangeName: string, strQueueName: string, strSubscriptionName: string): AMQPSubscription {

    let objPropertiesAMQPBroker: any = {
        host: strFQDN,
        port: 5672,
        username: strUsername,
        password: strPassword,
        virtualHost: "/",
        useSSL: true,
        acceptAllCertificates: true,
        name: strName
    };

    let objPropertiesAMQPExchange: any = {
        type: "topic",
        durable: true,
        autoDelete: false
    };

    let objPropertiesAMQPQueue: any = {
        durable: true,
        exclusive: false,
        autoDelete: false
    };

    let objPropertiesAMQPSubscription: any = {
        name: strSubscriptionName
    };

    let arrQueue: string[] = [strQueueName];


    let objAMQPBroker: AMQPBroker = AMQPBrokerManager.addBroker(objPropertiesAMQPBroker);
    objAMQPBroker.validate();
    objAMQPBroker.declareExchange(strExchangeName, objPropertiesAMQPExchange);
    objAMQPBroker.declareQueue(strQueueName, objPropertiesAMQPQueue);
    objAMQPBroker.bind(strQueueName, strExchangeName, { routingKey: "#" });

    let objAMQPSubscription: AMQPSubscription = objAMQPBroker.subscribe(arrQueue, objPropertiesAMQPSubscription);

    return objAMQPSubscription;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like