Ejercicio: recibir mensajes de Azure Service Bus
Ahora vamos a crear una aplicación de Spring Boot que pueda recibir mensajes de una cola de Azure Service Bus.
Creación de un proyecto de Spring Boot
Vamos a abrir una nueva ventana de terminal y, al igual que hicimos con la aplicación de Spring Boot de emisor, usaremos Spring Initializr para crear un proyecto de Spring Boot.
curl https://start.spring.io/starter.tgz -d type=maven-project -d dependencies=web -d baseDir=spring-receiver-application -d bootVersion=2.4.1.RELEASE -d javaVersion=1.8 | tar -xzvf -
Recibir mensajes de una cola de Service Bus
En este caso, agregaremos la dependencia y la configuración.
Adición de la dependencia de Maven para el inicio de Spring Boot de Service Bus
En el archivo pom.xml
de spring-receiver-application
, agregue el comando siguiente en las dependencias:
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-servicebus-jms-spring-boot-starter</artifactId>
<version>2.3.3</version>
</dependency>
Adición de los parámetros de configuración
En la carpeta
spring-receiver-application\src\main\resources
, edite el archivoapplication.properties
y agregue estos parámetros:server.port=9090 spring.jms.servicebus.connection-string=<xxxxx> spring.jms.servicebus.idle-timeout=20000
Establezca la propiedad
spring.jms.servicebus.connection-string
en la cadena de conexión al espacio de nombres de Service Bus, que guardó anteriormente.
Adición de código para recibir mensajes de Service Bus
Ahora agregaremos la lógica de negocios para recibir mensajes de una cola de Service Bus.
En el directorio src/main/java/com/example/demo
, cree un archivo ReceiveController.java
que tenga el contenido siguiente:
package com.example.demo;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;
@Component
public class ReceiveController {
@JmsListener(destination = "test-queue-jms")
public void receiveMessage(String message) {
System.out.println("Received <" + message + ">");
}
}
Ejecución de la aplicación de forma local
Vuelva a la raíz de la carpeta
spring-receiver-application
de ejemplo en la que se encuentra el archivopom.xml
y ejecute el comando siguiente para iniciar la aplicación de Spring Boot. Para este paso, se presupone que tienemvn
instalado en el equipo Windows y que se encuentra enPATH
.mvn spring-boot:run
Una vez que complete el inicio de la aplicación, verá las instrucciones de registro siguientes en la ventana de la consola.
Received <Hello> Received <HelloAgain> Received <HelloOnceAgain>
La aparición de estas instrucciones indica que la aplicación de Spring Boot recibe mensajes correctamente de la cola de Service Bus.
Vista del flujo de trabajo completo en acción
Si la aplicación emisora (de la unidad 4) todavía se está ejecutando, puede seleccionar el vínculo siguiente para enviar un mensaje a la cola de Service Bus:
http://localhost:8080/messages?message=HelloOnceAgainAndAgain
La aplicación receptora recibe el mensaje de la cola de Service Bus y lo muestra en la consola.
Received <HelloOnceAgainAndAgain>