Java için Azure Web PubSub hizmeti istemci kitaplığı

Azure Web PubSub hizmeti , geliştiricilerin gerçek zamanlı özellikler ve yayımlama-abone olma düzeniyle kolayca web uygulamaları oluşturmalarına yardımcı olan Azure tarafından yönetilen bir hizmettir. Sunucu ve istemciler arasında veya istemciler arasında gerçek zamanlı yayımlama-abone olma mesajlaşması gerektiren tüm senaryolar Azure Web PubSub hizmetini kullanabilir. Genellikle sunucudan yoklama veya HTTP istekleri gönderme gerektiren geleneksel gerçek zamanlı özellikler, Azure Web PubSub hizmetini de kullanabilir.

Bu makalede Azure Web PubSub hizmeti istemci kitaplığı açıklanmaktadır.

Bu diyagramda gösterildiği gibi WebSocket istemci bağlantılarını yönetmek için sunucu tarafı uygulamanızda bu kitaplığı kullanabilirsiniz:

Taşma diyagramı, hizmet istemci kitaplığı kullanımındaki taşma durumunu gösterir.

Bu kitaplığı kullanarak:

  • Hub'lara ve gruplara ileti gönderme.
  • Belirli kullanıcılara ve bağlantılara ileti gönderme.
  • Kullanıcıları ve bağlantıları gruplar halinde düzenleyin.
  • Bağlantıları kapatma
  • Mevcut bağlantı için izin verme, iptal etme ve denetleme

Daha fazla bilgi için bakınız:

Başlangıç Yapmak

Önkoşullar

Paketi Dahil Et

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-messaging-webpubsub</artifactId>
    <version>1.0.0</version>
</dependency>

WebPubSubServiceClient oluşturmak için bağlantı dizesini kullanın

WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
    .connectionString("{connection-string}")
    .hub("chat")
    .buildClient();

Oluştur WebPubSubServiceClient erişim anahtarı kullanarak

WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
    .credential(new AzureKeyCredential("{access-key}"))
    .endpoint("<Insert endpoint from Azure portal>")
    .hub("chat")
    .buildClient();

Örnekler

İletiyi hub'ın tamamına yayınlama

webPubSubServiceClient.sendToAll("Hello world!", WebPubSubContentType.TEXT_PLAIN);

İletiyi gruba yayınlama

webPubSubServiceClient.sendToGroup("java", "Hello Java!", WebPubSubContentType.TEXT_PLAIN);

Bağlantıya ileti gönderme

webPubSubServiceClient.sendToConnection("myconnectionid", "Hello connection!", WebPubSubContentType.TEXT_PLAIN);

Kullanıcıya ileti gönderme

webPubSubServiceClient.sendToUser("Andy", "Hello Andy!", WebPubSubContentType.TEXT_PLAIN);

Sorun giderme

İstemci günlüğünü etkinleştirme

Bu ortam değişkenini AZURE_LOG_LEVEL istemci kitaplığındaki günlük kayıtlarını görüntülemek için ayarlayabilirsiniz. Örneğin, ayar AZURE_LOG_LEVEL=2 tüm bilgilendirme, uyarı ve hata günlüğü iletilerini gösterir. Günlük düzeyleri burada bulunabilir: günlük düzeyleri.

Varsayılan HTTP İstemcisi

Tüm istemci kitaplıkları varsayılan olarak Netty HTTP istemcisini kullanır. Yukarıdaki bağımlılığın eklenmesi, istemci kitaplığını Netty HTTP istemcisini kullanacak şekilde otomatik olarak yapılandıracaktır. HTTP istemcisinin yapılandırılması veya değiştirilmesi HTTP istemcileri wiki'sinde açıklanmıştır.

Varsayılan SSL kitaplığı

Varsayılan olarak, tüm istemci kitaplıkları, SSL işlemleri için yerel seviyede performans sağlamak amacıyla Tomcat-native BoringSSL kitaplığını kullanır. Boring SSL kütüphanesi, Linux / macOS / Windows için yerel kütüphaneler içeren bir "uber jar" dosyasıdır ve JDK içindeki varsayılan SSL uygulamasına kıyasla daha iyi performans sağlar. Bağımlılık boyutunu küçültme de dahil olmak üzere daha fazla bilgi için bkz. [performans ayarlama][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].

Kendi uygulamanızı oluşturmaya başlamak için şu kaynakları kullanın: