Azure Web PubSub-serviceclientbibliotheek voor Java
De Azure Web PubSub-service is een door Azure beheerde service waarmee ontwikkelaars eenvoudig webtoepassingen kunnen bouwen met realtime-functies en een patroon voor publiceren/abonneren. Elk scenario waarvoor realtime berichten voor publiceren/abonneren tussen server en clients of clients zijn vereist, kunnen de Azure Web PubSub-service gebruiken. Traditionele realtime-functies die vaak polling van de server vereisen of http-aanvragen indienen, kunnen ook gebruikmaken van de Azure Web PubSub-service.
In dit artikel wordt de clientbibliotheek van de Azure Web PubSub-service beschreven.
U kunt deze bibliotheek in uw server-app gebruiken om de WebSocket-clientverbindingen te beheren, zoals wordt weergegeven in dit diagram:
Gebruik deze bibliotheek om:
- Berichten verzenden naar hubs en groepen.
- Berichten verzenden naar bepaalde gebruikers en verbindingen.
- Organiseer gebruikers en verbindingen in groepen.
- Verbindingen sluiten
- Machtigingen voor een bestaande verbinding verlenen, intrekken en controleren
Zie voor meer informatie:
- Azure Web PubSub-clientbibliotheek Java SDK
- Referentiedocumentatie voor Azure Web PubSub-clientbibliotheek
- Voorbeelden van Azure Web PubSub-clientbibliotheek voor Java
- Documentatie voor de Azure Web PubSub-service
Aan de slag
Vereisten
- Er is een Azure-account met een actief abonnement vereist. Als u dat nog niet hebt, kunt u gratis een account maken.
- Een Java Development Kit (JDK), versie 8 of hoger.
Het pakket opnemen
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-webpubsub</artifactId>
<version>1.0.0</version>
</dependency>
WebPubSubServiceClient
Een using verbindingsreeks maken
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.connectionString("{connection-string}")
.hub("chat")
.buildClient();
Een met behulp van een WebPubSubServiceClient
toegangssleutel maken
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.credential(new AzureKeyCredential("{access-key}"))
.endpoint("<Insert endpoint from Azure Portal>")
.hub("chat")
.buildClient();
Voorbeelden
- Bericht uitzenden naar volledige hub
- Bericht uitzenden naar een groep
- Bericht verzenden naar een verbinding
- Bericht verzenden naar een gebruiker
Bericht uitzenden naar volledige hub
webPubSubServiceClient.sendToAll("Hello world!", WebPubSubContentType.TEXT_PLAIN);
Bericht uitzenden naar een groep
webPubSubServiceClient.sendToGroup("java", "Hello Java!", WebPubSubContentType.TEXT_PLAIN);
Een bericht naar een verbinding verzenden
webPubSubServiceClient.sendToConnection("myconnectionid", "Hello connection!", WebPubSubContentType.TEXT_PLAIN);
Bericht verzenden naar een gebruiker
webPubSubServiceClient.sendToUser("Andy", "Hello Andy!", WebPubSubContentType.TEXT_PLAIN);
Problemen oplossen
Logboekregistratie op de client inschakelen
U kunt de AZURE_LOG_LEVEL
omgevingsvariabele instellen om logboekregistratie-instructies weer te geven die zijn gemaakt in de clientbibliotheek. Met de instelling AZURE_LOG_LEVEL=2
worden bijvoorbeeld alle informatieve, waarschuwings- en foutberichten weergegeven. De logboekniveaus vindt u hier: logboekniveaus.
Standaard-HTTP-client
Alle clientbibliotheken gebruiken standaard de Netty HTTP-client. Als u de bovenstaande afhankelijkheid toevoegt, wordt de clientbibliotheek automatisch geconfigureerd voor het gebruik van de Netty HTTP-client. Het configureren of wijzigen van de HTTP-client wordt beschreven in de wiki http-clients.
Standaard SSL-bibliotheek
Standaard gebruiken alle clientbibliotheken de systeemeigen Boring SSL-bibliotheek van Tomcat om prestaties op systeemeigen niveau in te schakelen voor SSL-bewerkingen. De Boring SSL-bibliotheek is een uber JAR met systeemeigen bibliotheken voor Linux/macOS/Windows en biedt betere prestaties in vergelijking met de standaard SSL-implementatie binnen de JDK. Zie [prestaties afstemmen][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning] voor meer informatie, waaronder het verminderen van de afhankelijkheidsgrootte.
Gebruik deze resources om te beginnen met het bouwen van uw eigen toepassing: