Azure Service Bus Java: usar AMQP sobre WebSockets com um proxy
Configure o cliente de mensagens Java do Azure Service Bus com AMQP sobre WebSockets e as configurações de proxy da biblioteca AMQP.
O cliente de mensagens Java moderno do Azure Service Bus usa AMQP. O seu construtor exige AMQP_WEB_SOCKETS quando um proxy está configurado.
Com azure-messaging-servicebus 7.18.0, crie o remetente assim:
var address = new java.net.Proxy(
java.net.Proxy.Type.HTTP,
new java.net.InetSocketAddress("proxy.example", 8080));
var proxy = new com.azure.core.amqp.ProxyOptions(
com.azure.core.amqp.ProxyAuthenticationType.BASIC,
address, proxyUser, proxyPassword);
var sender = new com.azure.messaging.servicebus.ServiceBusClientBuilder()
.connectionString(serviceBusConnectionString)
.transportType(com.azure.core.amqp.AmqpTransportType.AMQP_WEB_SOCKETS)
.proxyOptions(proxy)
.sender()
.queueName(queueName)
.buildClient();
As variáveis da conta autenticam-se num proxy que aceita Basic. A cadeia de ligação e o nome da fila continuam a identificar o recurso do Service Bus. Mantenha o remetente durante o tempo de vida previsto e feche-o quando a aplicação terminar com ele.
Use com.azure.core.amqp.ProxyOptions aqui. A pilha HTTP do Azure tem outra classe de opções de proxy com nome semelhante; não é o tipo que este construtor aceita.
Isto configura a ligação de mensagens. Uma aplicação que use credenciais de identidade criadas de forma independente também pode precisar de configurar o transporte HTTP do token dessas credenciais.
Os exemplos antigos do Azure SDK 0.9 referem-se a outra geração de cliente. Não deduza que as suas constantes de configuração ou propriedades HTTP gerais descrevem o construtor AMQP moderno.