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

Concluído

Nesta unidade, você cria um aplicativo Spring Boot que envia mensagens para uma fila do Barramento de Serviço do Azure. Conclua as etapas a seguir localmente.

Criar um projeto Spring Boot

Para criar nosso projeto Spring Boot, usamos o Spring Initializr com a seguinte linha de comando:

curl https://start.spring.io/starter.tgz -d type=maven-project -d dependencies=web -d baseDir=spring-sender-application -d bootVersion=3.3.0.RELEASE -d javaVersion=1.8 | tar -xzvf -

Enviar mensagens para uma fila do Service Bus

Agora, vamos enviar algumas mensagens para uma fila do Service Bus.

Adicionar a dependência maven para o Service Bus Spring Boot Starter

pom.xml No arquivo do , spring-sender-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-sender-application\src\main\resources Na pasta, edite o application.properties arquivo, adicione os seguintes parâmetros:

    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 enviar mensagens ao Service Bus

Em seguida, adicionamos a lógica de negócios para enviar mensagens a uma fila do Service Bus.

No diretório src/main/java/com/example/demo, crie um SendController.java arquivo que tenha o seguinte conteúdo:

package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class SendController {
    
    private static final String queue = "test-queue-jms";

    @Autowired
    private JmsTemplate jmsTemplate;

    @GetMapping("/messages")
    public String postMessage(@RequestParam String message) {
        jmsTemplate.send(queue, s -> s.createTextMessage(message));
        return message;
    }
}

Executar a aplicação localmente

  1. Volte para a raiz da pasta de exemplo spring-sender-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ê pode selecionar os links a seguir para enviar mensagens para a fila do Service Bus.

    http://localhost:8080/messages?message=Hello
    
    http://localhost:8080/messages?message=HelloAgain
    
    http://localhost:8080/messages?message=HelloOnceAgain
    

    Você pode alterar o valor da cadeia de caracteres no parâmetro de consulta de mensagem e enviar qualquer texto para a fila do Service Bus.

    O navegador exibe o que é passado como o parâmetro de cadeia de caracteres de consulta de mensagem, o que implica que o Service Bus está aceitando a mensagem.

Ver as mensagens na fila do Barramento de Serviço

Nota

Embora a visualização das mensagens ajude a entender o lado de envio das mensagens, esta etapa é opcional.

Essas mensagens serão recebidas na próxima etapa deste tutorial.

Você pode continuar a exibir as mensagens no explorador do Service Bus no portal do Azure:

  1. De volta ao portal do Azure, selecione Filas no menu esquerdo em Entidades.

  2. Selecione a fila apropriada. Por exemplo, a fila para esta demonstração é test-queue-jms.

  3. No painel esquerdo, selecione Service Bus explorer.

  4. Selecione Espreitar desde o início. Você deve ver todas as três mensagens enviadas usando comandos HTTP.

    Screenshot of the Service Bus explorer peek experience.

  5. Selecione uma mensagem para ver o corpo da mensagem no painel inferior.

    Screenshot of the Service Bus explorer with peeked messages.