Azurite仅与http吗?

问题描述

我必须使用azurite作为代理,不幸的是我还不能使用azure服务总线。所以我被迫使用

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-servicebus-jms-spring-boot-starter</artifactId>
    <version>2.3.3</version>
</dependency>

但是具有用于JmsListener的azurite容器。

  @JmsListener(destination = QUEUE_NAME,containerFactory = "jmsListenerContainerFactory")
    public void receiveMessage(String message) {
        logger.info("Received message: {}",message);
    }

在工厂内部,深深嵌套在stackTrace中的是ConnectionStringBuilder,它附加了“ amqps://”; 并删除端口号。问题是我不知道如何从http和amqps更改azurite中的通讯协议,如果不可能的话。如何覆盖使用http而不是amqps的类?

解决方法

Azurite用于Azure队列存储,而不用于Azure Service Bus。 Azure队列存储仅用于HTTP / S,并且从未设计过该工具与基于AMQP / S的服务一起使用。