diff --git a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQUtils.scala b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQUtils.scala index fd811e4c7..bf70af473 100644 --- a/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQUtils.scala +++ b/obp-api/src/main/scala/code/bankconnectors/rabbitmq/RabbitMQUtils.scala @@ -40,12 +40,13 @@ object RabbitMQUtils extends MdcLoggable{ // automatically be deleted if it is not used, i.e., if no consumer is connected to it during that time. args.put("x-expires", Integer.valueOf(60000)) args.put("x-message-ttl", Integer.valueOf(60000)) - args.put("x-queue-type", "quorum") + //args.put("x-queue-type", "quorum") // use the classic first. private implicit val formats = code.api.util.CustomJsonFormats.nullTolerateFormats val RPC_QUEUE_NAME: String = "obp_rpc_queue" + val RPC_REPLY_TO_QUEUE_NAME_PREFIX: String = "obp_reply_queue" class ResponseCallback(val rabbitCorrelationId: String, channel: Channel) extends DeliverCallback { @@ -86,18 +87,18 @@ object RabbitMQUtils extends MdcLoggable{ val channel = connection.createChannel() // channel is not thread safe, so we always create new channel for each message. channel.queueDeclare( RPC_QUEUE_NAME, // Queue name - true, // durable: non-persis - false, // exclusive: non-excl4 - false, // autoDelete: delete - args // extra arguments + true, // durable: non-persis, here set durable = true + false, // exclusive: non-excl4, here set exclusive = false + false, // autoDelete: delete, here set autoDelete = false + args // extra arguments, ) val replyQueueName:String = channel.queueDeclare( - "amq.gen-"+UUID.randomUUID.toString, // Queue name, rabbitMq will create a unique name for this queue, eg: - true, // durable: non-persistent - false, // exclusive: non-exclusive - false, // autoDelete: delete when no consumers - args // extra arguments + s"${RPC_REPLY_TO_QUEUE_NAME_PREFIX}_${messageId.replace("obp_","")}_${UUID.randomUUID.toString}", // Queue name, it will be a unique name for each queue + false, // durable: non-persis, here set durable = false + true, // exclusive: non-excl4, here set exclusive = true + true, // autoDelete: delete, here set autoDelete = true + args // extra arguments, ).getQueue val rabbitResponseJsonFuture = {