Exercício - Receber mensagens do Barramento de Serviço do Azure
Agora, vamos criar uma aplicação Spring Boot que pode receber mensagens da fila do Barramento de Serviço no Azure.
Criar um projeto Spring Boot
Vamos abrir uma nova janela de terminal e, assim como fizemos com o aplicativo Spring Boot do remetente, usamos o Spring Initializr para criar um projeto Spring Boot.
curl https://start.spring.io/starter.tgz -d type=maven-project -d dependencies=web -d baseDir=spring-receiver-application -d bootVersion=3.3.0.RELEASE -d javaVersion=1.8 | tar -xzvf -
Receber mensagens de uma fila do Service Bus
Aqui, novamente, adicionamos a dependência e a configuração.
Adicionar a dependência maven para o Service Bus Spring Boot Starter
No ficheiro pom.xml
no seu spring-receiver-application
, adicione o seguinte comando em dependências:
<!-- https://mvnrepository.com/artifact/com.azure.spring/spring-cloud-azure-starter-servicebus-jms -->
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-starter-servicebus-jms</artifactId>
<version>5.18.0</version>
</dependency>
Adicionar os parâmetros de configuração
Na pasta
spring-receiver-application\src\main\resources
, edite o arquivoapplication.properties
, adicione os seguintes parâmetros:server.port=9090 spring.jms.servicebus.connection-string=<xxxxx> spring.jms.servicebus.idle-timeout=20000 spring.jms.servicebus.pricing-tier=premium
Defina a propriedade
spring.jms.servicebus.connection-string
para a cadeia de conexão para seu namespace do Service Bus, que você salvou anteriormente.
Adicionar código para receber mensagens do Service Bus
Em seguida, adicionamos lógica de negócios para receber mensagens de uma fila do Service Bus.
No diretório src/main/java/com/example/demo
, crie um arquivo ReceiveController.java
que tenha o seguinte conteúdo:
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 + ">");
}
}
Execute o aplicativo localmente
Volte para a raiz da pasta
spring-receiver-application
de exemplo onde o arquivopom.xml
está localizado e execute o seguinte comando para iniciar o aplicativo Spring Boot. Esta etapa pressupõe que temmvn
instalado no seu computador Windows e que está noPATH
.mvn spring-boot:run
Após a conclusão da inicialização do aplicativo, você verá as seguintes instruções de log na janela do console.
Received <Hello> Received <HelloAgain> Received <HelloOnceAgain>
A aparência das instruções indica que o aplicativo Spring Boot está recebendo com êxito mensagens da fila do Service Bus.
Veja todo o fluxo de trabalho em ação
Se o aplicativo remetente (da unidade 4) ainda estiver em execução, você poderá selecionar o seguinte link para enviar uma mensagem para a fila do Service Bus:
http://localhost:8080/messages?message=HelloOnceAgainAndAgain
O aplicativo recetor recebe a mensagem da fila do Service Bus e a exibe no console.
Received <HelloOnceAgainAndAgain>