Exercício - Receber mensagens do Barramento de Serviço do Azure

Concluído

Agora, vamos criar um aplicativo Spring Boot que pode receber mensagens de uma fila do Barramento de Serviço do 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

pom.xml No arquivo do , spring-receiver-applicationadicione 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

  1. spring-receiver-application\src\main\resources Na pasta, edite o application.properties arquivo, 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
    
  2. Defina a propriedade como a spring.jms.servicebus.connection-string 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.

src/main/java/com/example/demo No diretório, crie um ReceiveController.java arquivo 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 + ">");
    }
}

Executar a aplicação localmente

  1. Volte para a raiz da pasta de exemplo spring-receiver-application onde o pom.xml arquivo está localizado e execute o seguinte comando para iniciar seu aplicativo Spring Boot. Esta etapa pressupõe que você tenha mvn instalado no seu computador Windows e está no PATH.

    mvn spring-boot:run
    
  2. 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>