Biblioteca cliente del servicio Azure Web PubSub para Java
El servicio Azure Web PubSub es un servicio administrado por Azure que ayuda a los desarrolladores a compilar fácilmente aplicaciones web con características en tiempo real y un patrón de publicación y suscripción. Cualquier escenario que requiera mensajería de publicación y suscripción en tiempo real entre el servidor y los clientes o entre clientes, puede usar el servicio Azure Web PubSub. Las características tradicionales en tiempo real que a menudo requieren sondeo desde el servidor o el envío de solicitudes HTTP también pueden usar el servicio Azure Web PubSub.
En este artículo se describe la biblioteca cliente del servicio Azure Web PubSub.
Puede usar esta biblioteca en la aplicación del lado servidor para administrar las conexiones de cliente de WebSocket, como se muestra en este diagrama:
Use esta biblioteca para:
- Enviar mensajes a centros y grupos.
- Enviar mensajes a determinados usuarios y conexiones.
- Organizar usuarios y conexiones en grupos.
- Cerrar conexiones.
- Conceder, revocar y comprobar permisos para una conexión existente.
Para más información, consulte:
- SDK de Java de la biblioteca cliente de Azure Web PubSub
- Documentación de referencia de la biblioteca cliente de Azure Web PubSub
- Ejemplos de biblioteca cliente de Azure Web PubSub para Java
- Documentación del servicio Azure Web PubSub
Introducción
Requisitos previos
- Se requiere una cuenta de Azure con una suscripción activa. Si no la tiene, puede crear una cuenta gratis.
- Un kit de desarrollo de Java (JDK), versión 8 o posterior.
Inclusión del paquete
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-webpubsub</artifactId>
<version>1.0.0</version>
</dependency>
Creación de un WebPubSubServiceClient
mediante una cadena de conexión
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.connectionString("{connection-string}")
.hub("chat")
.buildClient();
Creación de un WebPubSubServiceClient
mediante una clave de acceso
WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
.credential(new AzureKeyCredential("{access-key}"))
.endpoint("<Insert endpoint from Azure Portal>")
.hub("chat")
.buildClient();
Ejemplos
- Difundir mensaje a todo el centro
- Difusión de un mensaje a un grupo
- Envío de un mensaje a una conexión
- Enviar un mensaje a un usuario
Difusión de un mensaje a todo un centro
webPubSubServiceClient.sendToAll("Hello world!", WebPubSubContentType.TEXT_PLAIN);
Difusión de un mensaje a un grupo
webPubSubServiceClient.sendToGroup("java", "Hello Java!", WebPubSubContentType.TEXT_PLAIN);
Envío de un mensaje a una conexión
webPubSubServiceClient.sendToConnection("myconnectionid", "Hello connection!", WebPubSubContentType.TEXT_PLAIN);
Envío de un mensaje a un usuario
webPubSubServiceClient.sendToUser("Andy", "Hello Andy!", WebPubSubContentType.TEXT_PLAIN);
Solucionar problemas
Habilitación del registro de cliente
Puede establecer la variable de entorno AZURE_LOG_LEVEL
para ver las instrucciones de registro realizadas en la biblioteca cliente. Por ejemplo, al establecer AZURE_LOG_LEVEL=2
, se mostrarán todos los mensajes informativos, de advertencia y de registro de errores. Los niveles de registro se pueden encontrar aquí: niveles de registro.
Cliente HTTP predeterminado
Todas las bibliotecas cliente usan el cliente HTTP de Netty de forma predeterminada. Al agregar la dependencia anterior, se configurará automáticamente la biblioteca cliente para usar el cliente HTTP de Netty. La configuración o el cambio del cliente HTTP se describe en la wiki de clientes HTTP.
Biblioteca SSL predeterminada
De forma predeterminada, todas las bibliotecas cliente usan la biblioteca SSL boring nativa de Tomcat para habilitar el rendimiento de nivel nativo para las operaciones SSL. La biblioteca Boring SSL es un archivo uber-jar que contiene bibliotecas nativas para Linux, macOS o Windows, que proporciona un mejor rendimiento en comparación con la implementación SSL predeterminada del JDK. Para obtener más información, incluido cómo reducir el tamaño de dependencia, consulte [optimización del rendimiento][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].
Use estos recursos para empezar a compilar su propia aplicación: