通过代理连接到Azure服务总线-Java

时间:2019-11-26 13:19:24

标签: azure azureservicebus azure-java-sdk

我试图在Java的帮助下实现Azure服务总线以从队列中接收消息,但是由于代理原因我无法连接到服务总线,我遇到了连接时间异常,即

  

Microsoft.azure.servicebus.primitives.ServiceBusException:错误{condition = proton:io,description =“连接超时:没有更多信息”,info =空}

,当我从本地网络(没有代理)尝试使用它时,它可以毫无问题地连接到azure总线。我使用的是Microsoft在GitHub上提供的示例代码,即QueuesWithProxy.java

如何使用Java配置Azure服务总线的代理?

1 个答案:

答案 0 :(得分:1)

我尝试连接到Microsoft以解决此问题,因此我发现以前版本的队列客户端支持使用TCP,HTTP,HTTPS和AutoDetect的ConnectivityMode。无论我们使用哪种传输模式(SBMP或AMQP),ServiceBus Explorer都使用AutoDetect,先尝试TCP,然后故障转移到HTTPS。 对于新客户,这种情况已经改变。 TransportMode现在结合了这两个选项,并提供了Amqp(基于TCP的AMQP)或AmqpWebSockets(基于WebSocket的AMQP)。没有自动检测模式。您将必须创建客户端,并将TransportType指定为AmqpWebSockets才能绕过阻止。