From 5f628c009053a5419617cba4259c7cdb9d6a169a Mon Sep 17 00:00:00 2001 From: cdosoftei Date: Thu, 17 Oct 2019 15:38:38 -0400 Subject: [PATCH] [mod_amqp] open logging and produced connections from within their respective threads --- .../mod_amqp/mod_amqp_logging.c | 29 +------------------ .../mod_amqp/mod_amqp_producer.c | 28 +----------------- 2 files changed, 2 insertions(+), 55 deletions(-) diff --git a/src/mod/event_handlers/mod_amqp/mod_amqp_logging.c b/src/mod/event_handlers/mod_amqp/mod_amqp_logging.c index dd6fa599d9..01d08960fa 100644 --- a/src/mod/event_handlers/mod_amqp/mod_amqp_logging.c +++ b/src/mod/event_handlers/mod_amqp/mod_amqp_logging.c @@ -238,34 +238,7 @@ switch_status_t mod_amqp_logging_create(char *name, switch_xml_t cfg) } } profile->conn_active = NULL; - - if ( mod_amqp_connection_open(profile->conn_root, &(profile->conn_active), profile->name, profile->custom_attr) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Profile[%s] was unable to connect to any connection\n", profile->name); - goto err; - } - -#if AMQP_VERSION_MAJOR == 0 && AMQP_VERSION_MINOR >= 6 - amqp_exchange_declare(profile->conn_active->state, 1, - amqp_cstring_bytes(profile->exchange), - amqp_cstring_bytes(profile->exchange_type), - 0, /* passive */ - profile->exchange_durable, - profile->exchange_auto_delete, - 0, - amqp_empty_table); -#else - amqp_exchange_declare(profile->conn_active->state, 1, - amqp_cstring_bytes(profile->exchange), - amqp_cstring_bytes(profile->exchange_type), - 0, /* passive */ - profile->exchange_durable, - amqp_empty_table); -#endif - - if (mod_amqp_log_if_amqp_error(amqp_get_rpc_reply(profile->conn_active->state), "Declaring exchange")) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Profile[%s] failed to create exchange\n", profile->name); - goto err; - } + /* We are not going to open the logging queue connection on create, but instead wait for the running thread to open it */ /* Create a bounded FIFO queue for sending messages */ if (switch_queue_create(&(profile->send_queue), profile->send_queue_size, profile->pool) != SWITCH_STATUS_SUCCESS) { diff --git a/src/mod/event_handlers/mod_amqp/mod_amqp_producer.c b/src/mod/event_handlers/mod_amqp/mod_amqp_producer.c index d4479b1752..d7741d3f41 100644 --- a/src/mod/event_handlers/mod_amqp/mod_amqp_producer.c +++ b/src/mod/event_handlers/mod_amqp/mod_amqp_producer.c @@ -325,33 +325,7 @@ switch_status_t mod_amqp_producer_create(char *name, switch_xml_t cfg) } } profile->conn_active = NULL; - - if ( mod_amqp_connection_open(profile->conn_root, &(profile->conn_active), profile->name, profile->custom_attr) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Profile[%s] was unable to connect to any connection\n", profile->name); - goto err; - } -#if AMQP_VERSION_MAJOR == 0 && AMQP_VERSION_MINOR >= 6 - amqp_exchange_declare(profile->conn_active->state, 1, - amqp_cstring_bytes(profile->exchange), - amqp_cstring_bytes(profile->exchange_type), - 0, /* passive */ - profile->exchange_durable, - profile->exchange_auto_delete, - 0, - amqp_empty_table); -#else - amqp_exchange_declare(profile->conn_active->state, 1, - amqp_cstring_bytes(profile->exchange), - amqp_cstring_bytes(profile->exchange_type), - 0, /* passive */ - profile->exchange_durable, - amqp_empty_table); -#endif - - if (mod_amqp_log_if_amqp_error(amqp_get_rpc_reply(profile->conn_active->state), "Declaring exchange\n")) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Profile[%s] failed to create exchange\n", profile->name); - goto err; - } + /* We are not going to open the producer queue connection on create, but instead wait for the running thread to open it */ /* Create a bounded FIFO queue for sending messages */ if (switch_queue_create(&(profile->send_queue), profile->send_queue_size, profile->pool) != SWITCH_STATUS_SUCCESS) {