Libreria client del servizio Web PubSub di Azure per Java
Il servizio Web PubSub di Azure è un servizio gestito da Azure che consente agli sviluppatori di creare facilmente applicazioni Web con funzionalità in tempo reale e un modello di pubblicazione-sottoscrizione. Qualsiasi scenario che richiede la messaggistica di pubblicazione-sottoscrizione in tempo reale tra server e client o tra i client può usare il servizio Web PubSub di Azure. Le funzionalità tradizionali in tempo reale che spesso richiedono il polling dal server o l'invio di richieste HTTP possono usare anche il servizio PubSub Web di Azure.
Questo articolo descrive la libreria client del servizio Web PubSub di Azure.
È possibile usare questa libreria nell'app sul lato server per gestire le connessioni client WebSocket, come illustrato in questo diagramma:
Usare questa libreria per:
- Inviare messaggi a hub e gruppi.
- Inviare messaggi a utenti e connessioni specifici.
- Organizzare utenti e connessioni in gruppi.
- Chiudere le connessioni
- Concedere, revocare e controllare le autorizzazioni per una connessione esistente
Per altre informazioni, vedere:
- Azure Web PubSub client library Java SDK
- Documentazione di riferimento sulla libreria client Web PubSub di Azure
- Esempi di libreria client Web PubSub di Azure per Java
- Documentazione del servizio Web PubSub di Azure
Introduzione
Prerequisiti
- È necessario un account Azure con una sottoscrizione attiva. Se non è già disponibile, è possibile creare gratuitamente un account.
- Java Development Kit (JDK), versione 8 o successiva.
Includere il pacchetto
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-webpubsub</artifactId>
<version>1.0.0</version>
</dependency>
Creare un WebPubSubServiceClient
oggetto usando stringa di connessione
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.connectionString("{connection-string}")
.hub("chat")
.buildClient();
Creare un oggetto usando la WebPubSubServiceClient
chiave di accesso
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.credential(new AzureKeyCredential("{access-key}"))
.endpoint("<Insert endpoint from Azure Portal>")
.hub("chat")
.buildClient();
Esempi
- Trasmettere un messaggio all'intero hub
- Trasmettere un messaggio a un gruppo
- Inviare un messaggio a una connessione
- Inviare un messaggio a un utente
Trasmettere un messaggio all'intero hub
webPubSubServiceClient.sendToAll("Hello world!", WebPubSubContentType.TEXT_PLAIN);
Trasmettere un messaggio a un gruppo
webPubSubServiceClient.sendToGroup("java", "Hello Java!", WebPubSubContentType.TEXT_PLAIN);
Inviare il messaggio a una connessione
webPubSubServiceClient.sendToConnection("myconnectionid", "Hello connection!", WebPubSubContentType.TEXT_PLAIN);
Inviare un messaggio a un utente
webPubSubServiceClient.sendToUser("Andy", "Hello Andy!", WebPubSubContentType.TEXT_PLAIN);
Risoluzione dei problemi
Abilitare la registrazione client
È possibile impostare la AZURE_LOG_LEVEL
variabile di ambiente per visualizzare le istruzioni di registrazione effettuate nella libreria client. Ad esempio, l'impostazione AZURE_LOG_LEVEL=2
visualizza tutti i messaggi informativi, di avviso e di log degli errori. I livelli di log sono disponibili qui: livelli di log.
Client HTTP predefinito
Per impostazione predefinita, tutte le librerie client usano il client HTTP Netty. L'aggiunta della dipendenza precedente configurerà automaticamente la libreria client per l'uso del client HTTP Netty. La configurazione o la modifica del client HTTP è descritta nel wiki dei client HTTP.
Libreria SSL predefinita
Per impostazione predefinita, tutte le librerie client usano la libreria SSL Boring nativa tomcat per abilitare le prestazioni a livello nativo per le operazioni SSL. La libreria SSL boring è un file uber jar contenente librerie native per Linux/macOS/Windows e offre prestazioni migliori rispetto all'implementazione SSL predefinita all'interno di JDK. Per altre informazioni, tra cui come ridurre le dimensioni delle dipendenze, vedere [ottimizzazione delle prestazioni][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].
Usare queste risorse per iniziare a creare un'applicazione personalizzata: