Biblioteca de cliente do serviço Azure Web PubSub para Java
O serviço Azure Web PubSub é um serviço gerenciado pelo Azure que ajuda os desenvolvedores a criar facilmente aplicativos Web com recursos em tempo real e um padrão de publicação-assinatura. Qualquer cenário que exija mensagens de publicação-assinatura em tempo real entre o servidor e os clientes ou entre os clientes pode usar o serviço Azure Web PubSub. Os recursos tradicionais em tempo real que geralmente exigem sondagem do servidor ou o envio de solicitações HTTP também podem usar o serviço Azure Web PubSub.
Este artigo descreve a biblioteca de cliente do serviço Azure Web PubSub.
Você pode usar essa biblioteca em seu aplicativo do lado do servidor para gerenciar as conexões de cliente WebSocket, conforme mostrado neste diagrama:
Use esta biblioteca para:
- Envie mensagens para hubs e grupos.
- Envie mensagens para usuários e conexões específicos.
- Organize usuários e conexões em grupos.
- Fechar ligações
- Conceder, revogar e verificar permissões para uma conexão existente
Para obter mais informações, consulte:
- Biblioteca de cliente do Azure Web PubSub Java SDK
- Documentação de referência da biblioteca de cliente do Azure Web PubSub
- Exemplos de biblioteca de cliente do Azure Web PubSub para Java
- Documentação do serviço Azure Web PubSub
Introdução
Pré-requisitos
- É necessária uma conta do Azure com uma subscrição ativa. Se ainda não tiver uma, pode criar uma conta gratuitamente.
- Um Java Development Kit (JDK), versão 8 ou posterior.
Incluir o pacote
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-webpubsub</artifactId>
<version>1.0.0</version>
</dependency>
Criar uma cadeia de WebPubSubServiceClient
conexão usando
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.connectionString("{connection-string}")
.hub("chat")
.buildClient();
Criar uma WebPubSubServiceClient
chave de acesso usando
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.credential(new AzureKeyCredential("{access-key}"))
.endpoint("<Insert endpoint from Azure Portal>")
.hub("chat")
.buildClient();
Exemplos
- Transmitir mensagem para todo o hub
- Transmitir mensagem para um grupo
- Enviar mensagem para uma ligação
- Enviar mensagem a um utilizador
Transmitir mensagem para todo o hub
webPubSubServiceClient.sendToAll("Hello world!", WebPubSubContentType.TEXT_PLAIN);
Transmitir mensagem para um grupo
webPubSubServiceClient.sendToGroup("java", "Hello Java!", WebPubSubContentType.TEXT_PLAIN);
Enviar mensagem para uma ligação
webPubSubServiceClient.sendToConnection("myconnectionid", "Hello connection!", WebPubSubContentType.TEXT_PLAIN);
Enviar mensagem a um utilizador
webPubSubServiceClient.sendToUser("Andy", "Hello Andy!", WebPubSubContentType.TEXT_PLAIN);
Resolução de problemas
Habilitar o log do cliente
Você pode definir a AZURE_LOG_LEVEL
variável de ambiente para exibir instruções de log feitas na biblioteca do cliente. Por exemplo, a configuração AZURE_LOG_LEVEL=2
mostraria todas as mensagens informativas, de aviso e de log de erros. Os níveis de log podem ser encontrados aqui: níveis de log.
Cliente HTTP padrão
Todas as bibliotecas de cliente usam o cliente Netty HTTP por padrão. Adicionar a dependência acima configurará automaticamente a biblioteca do cliente para usar o cliente Netty HTTP. Configurar ou alterar o cliente HTTP é descrito no wiki de clientes HTTP.
Biblioteca SSL padrão
Por padrão, todas as bibliotecas de cliente usam a biblioteca Boring SSL nativa do Tomcat para habilitar o desempenho de nível nativo para operações SSL. A biblioteca Boring SSL é um uber jar contendo bibliotecas nativas para Linux / macOS / Windows, e fornece melhor desempenho em comparação com a implementação SSL padrão dentro do JDK. Para obter mais informações, incluindo como reduzir o tamanho da dependência, consulte [ajuste de desempenho][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].
Use estes recursos para começar a criar seu próprio aplicativo: