Clientbibliothek des Azure Web PubSub-Diensts für Java
Der Azure Web PubSub-Dienst ist ein von Azure verwalteter Dienst , mit dem Entwickler problemlos Webanwendungen mit Echtzeitfeatures und einem Veröffentlichungsabonnentmuster erstellen können. Jedes Szenario, das Echtzeit-Publish-Subscribe-Messaging zwischen Server und Clients oder zwischen Clients erfordert, kann den Azure Web PubSub-Dienst nutzen. Herkömmliche Echtzeitfeatures, die häufig abfragen vom Server oder senden von HTTP-Anforderungen erfordern, können auch den Azure Web PubSub-Dienst verwenden.
In diesem Artikel wird die Azure Web PubSub-Dienstclientbibliothek beschrieben.
Sie können diese Bibliothek in Ihrer serverseitigen App verwenden, um die WebSocket-Clientverbindungen zu verwalten, wie in diesem Diagramm gezeigt:
Sie können diese Bibliothek für Folgendes verwenden:
- Das Versenden von Nachrichten an Hubs und Gruppen.
- Das Versenden von Nachrichten an bestimmte Benutzer und Verbindungen.
- Das Organisieren von Benutzern und Verbindungen in Gruppen.
- Das Schließen von Verbindungen
- Das Erteilen, Widerrufen und Prüfen von Berechtigungen für eine vorhandene Verbindung
Weitere Informationen finden Sie unter:
- Java SDK der Azure Web PubSub-Clientbibliothek
- Referenzdokumentation zur Azure Web PubSub-Clientbibliothek
- Azure Web PubSub-Clientbibliotheksbeispiele für Java
- Dokumentation zum Azure Web PubSub-Dienst
Erste Schritte
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement ist erforderlich. Falls Sie noch über keins verfügen, können Sie ein kostenloses Konto erstellen.
- Java Development Kit (JDK), Version 8 oder höher.
Schließen Sie das Paket ein
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-webpubsub</artifactId>
<version>1.0.0</version>
</dependency>
WebPubSubServiceClient
mit Verbindungszeichenfolge erstellen
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.connectionString("{connection-string}")
.hub("chat")
.buildClient();
WebPubSubServiceClient
über Zugriffsschlüssel erstellen
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.credential(new AzureKeyCredential("{access-key}"))
.endpoint("<Insert endpoint from Azure Portal>")
.hub("chat")
.buildClient();
Beispiele
- Übertragen einer Nachricht an den gesamten Hub
- Senden einer Nachricht an eine Gruppe
- Nachricht an eine Verbindung senden
- Senden einer Nachricht an einen Benutzer
Übertragen einer Nachricht an den gesamten Hub
webPubSubServiceClient.sendToAll("Hello world!", WebPubSubContentType.TEXT_PLAIN);
Übertragen eine Nachricht an eine Gruppe
webPubSubServiceClient.sendToGroup("java", "Hello Java!", WebPubSubContentType.TEXT_PLAIN);
Senden einer Nachricht an eine Verbindung
webPubSubServiceClient.sendToConnection("myconnectionid", "Hello connection!", WebPubSubContentType.TEXT_PLAIN);
Senden einer Nachricht an einen Benutzer
webPubSubServiceClient.sendToUser("Andy", "Hello Andy!", WebPubSubContentType.TEXT_PLAIN);
Problembehandlung
Aktivieren der Clientprotokollierung
Sie können die Umgebungsvariable AZURE_LOG_LEVEL
so festlegen, dass in der Clientbibliothek vorgenommene Protokollierungsanweisungen angezeigt werden. Durch das Festlegen von AZURE_LOG_LEVEL=2
würden beispielsweise alle Informations-, Warnungs- und Fehlerprotokollmeldungen angezeigt. Die Protokolliergrade finden Sie hier: Protokolliergrade.
HTTP-Standardclient
Alle Clientbibliotheken verwenden standardmäßig den Netty-HTTP-Client. Durch Hinzufügen der obigen Abhängigkeit wird die Clientbibliothek automatisch für die Verwendung des Netty-HTTP-Clients konfiguriert. Das Konfigurieren oder Ändern des HTTP-Clients wird im HTTP-Clientswiki beschrieben.
SSL-Standardbibliothek
Standardmäßig verwenden alle Clientbibliotheken die tomcat-native Boring SSL-Bibliothek, um die Leistung auf systemeigener Ebene für SSL-Vorgänge zu ermöglichen. Die Boring-SSL-Bibliothek ist eine Uber-JAR-Datei mit nativen Bibliotheken für Linux/macOS/Windows und bietet im Vergleich zur SSL-Standardimplementierung im JDK eine bessere Leistung. Weitere Informationen, einschließlich der Reduzierung der Abhängigkeitsgröße, finden Sie unter [Leistungsoptimierung][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].
Erstellen Sie mithilfe dieser Ressourcen Ihre eigene Anwendung: