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 do 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 do 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 -

Receber mensagens de uma fila do Barramento de Serviço

Aqui novamente, adicionamos a dependência e a configuração.

Adicionar a dependência do maven para o Iniciador do Spring Boot do Barramento de Serviço

No arquivo pom.xml em seu spring-receiver-application, adicione o seguinte comando nas dependências:

            <dependency>
                <groupId>com.microsoft.azure</groupId>
                <artifactId>azure-servicebus-jms-spring-boot-starter</artifactId>
                <version>2.3.3</version>
            </dependency>

Adicionar parâmetros de configuração

  1. Na pasta spring-receiver-application\src\main\resources, edite o arquivo application.properties e adicione os seguintes parâmetros:

    server.port=9090
    
    spring.jms.servicebus.connection-string=<xxxxx>
    spring.jms.servicebus.idle-timeout=20000
    
  2. Defina a propriedade spring.jms.servicebus.connection-string como a cadeia de conexão para o namespace do Barramento de Serviço que você salvou anteriormente.

Adicionar código para receber mensagens do Barramento de Serviço

Em seguida, adicionamos lógica de negócios para receber mensagens de uma fila do Barramento de Serviço.

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 + ">");
    }
}

Executar o aplicativo localmente

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

    mvn spring-boot:run
    
  2. Após a inicialização do aplicativo ser concluída, você verá as instruções de log a seguir na janela do console.

    Received <Hello>
    Received <HelloAgain>
    Received <HelloOnceAgain>
    

    A aparência das instruções indica que o aplicativo Spring Boot está recebendo mensagens com êxito da fila do Barramento de Serviço.

Ver todo o fluxo de trabalho em ação

Se o aplicativo remetente (da unidade 4) ainda estiver em execução, selecione o seguinte link para enviar uma mensagem à fila do Barramento de Serviço:

http://localhost:8080/messages?message=HelloOnceAgainAndAgain

Seu aplicativo receptor recebe a mensagem da fila do Barramento de Serviço e a exibe no console.

Received <HelloOnceAgainAndAgain>