我正在尝试使用服务总线模拟器和我的 java 21 spring boot 项目。
作为参考,我点击了此链接: MS Azure 服务总线文章
首先,我尝试在 docker 中启动服务总线并创建一个简单的 main 来发送和接收 我设法让泊坞窗启动并运行: 我遇到的第一个问题是,我编辑的自定义配置不会被读取,而是在 docker 启动时读取,并且我得到默认配置。 (配置与 docker.yml 位于同一文件夹中)
这是我的 docker yml :
name: microsoft-azure-servicebus-emulator
services:
emulator:
container_name: "servicebus-emulator"
image: mcr.microsoft.com/azure-messaging/servicebus-emulator:latest
volumes:
- "Config.json"
ports:
- "5672:5672" # AMQP port
- "9354:9354" # Management port
environment:
SQL_SERVER: sqledge
MSSQL_SA_PASSWORD: Adm1n!@2123
ACCEPT_EULA: Y
depends_on:
- sqledge
networks:
sb-emulator:
aliases:
- "sb-emulator"
sqledge:
container_name: "sqledge"
image: "mcr.microsoft.com/azure-sql-edge:latest"
networks:
sb-emulator:
aliases:
- "sqledge"
environment:
ACCEPT_EULA: Y
MSSQL_SA_PASSWORD: Adm1n!@2123
networks:
sb-emulator:
这是我的简单代码:
public static void main(String[] args) {
String CONNECTION_STRING ="Endpoint=sb://localhost;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;";
ServiceBusAdministrationClient serviceBusAdministrationClient = new ServiceBusAdministrationClientBuilder()
.connectionString(CONNECTION_STRING).buildClient();
boolean subscriptionExists = serviceBusAdministrationClient.getSubscriptionExists("topic.1", "subscription.1");
System.out.println("Subscription exists: " + subscriptionExists);
当我尝试运行它时,我不断收到以下错误:
线程“main”中的异常 java.io.UncheckedIOException:io.netty.channel.AbstractChannel$AnnotatedConnectException:连接被拒绝:localhost/[0:0:0:0:0:0:0:1]:443
你能帮我了解问题所在吗? 谢谢大家, 奥德
您找到解决这个问题的方法了吗?