Todos os produtos
Search
Central de documentação

ApsaraMQ for RocketMQ:Integração com Spring

Última atualização: Jun 27, 2026

Envie e receba mensagens usando o SDK do ApsaraMQ for RocketMQ para Java em uma aplicação Spring ou Spring Boot.

O ApsaraMQ for RocketMQ oferece projetos de demonstração que integram o SDK ons-client a beans gerenciados pelo Spring. Esses projetos fornecem componentes de produtor e consumidor prontos para injeção de dependência. Este guia aborda a demonstração com Spring Boot. A demonstração com Spring simples segue o mesmo padrão.

Tipos de mensagem compatíveis

A integração com Spring é compatível com produtores e consumidores para os seguintes tipos de mensagem:

  • Mensagens normais

  • Mensagens ordenadas

  • Mensagens transacionais

Nota

A integração com Spring não oferece suporte a mensagens agendadas nem atrasadas.

Pré-requisitos

Antes de começar, verifique se você tem:

Etapa 1: Baixe o projeto de demonstração

Clone ou baixe um dos projetos de demonstração no GitHub:

Demonstração

Repositório

Spring Boot (usada neste guia)

java-springboot-demo

Spring

java-spring-demo

Etapa 2: Crie recursos

Crie os seguintes recursos no console do ApsaraMQ for RocketMQ:

  1. Criar uma instância.

  2. Criar um tópico. Defina o tipo de mensagem correspondente ao que você planeja enviar. Por exemplo, selecione Normal para mensagens normais ou Ordered para mensagens ordenadas.

  3. Criar um grupo. Selecione TCP como tipo de protocolo, pois o SDK ons-client se comunica via TCP.

  4. Obter o endpoint TCP da sua instância.

Etapa 3: Configure o projeto de demonstração

Abra o projeto de demonstração no IntelliJ IDEA e atualize a dependência do Maven e as propriedades da aplicação.

Adicionar a dependência ons-client

Adicione as seguintes dependências ao arquivo pom.xml. Substitua a versão do ons-client pela mais recente disponível. Para consultar o histórico de versões, veja as Notas de lançamento.

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>com.aliyun.openservices</groupId>
        <artifactId>ons-client</artifactId>
        <!-- Replace with the latest version -->
        <version>1.8.8.8.Final</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

Defina as propriedades da aplicação

Edite o arquivo java-springboot-demo/src/main/resources/application.properties com as informações dos recursos obtidas na Etapa 2.

Parâmetro

Descrição

Exemplo

accessKey

AccessKey ID para autenticação

<your-access-key-id>

secretKey

AccessKey secret para autenticação

<your-access-key-secret>

nameSrvAddr

Endpoint TCP da sua instância do ApsaraMQ for RocketMQ

http://MQ_INST_XXXXXX.cn-hangzhou.mq.aliyuncs.com:80

topic

Nome do tópico para mensagens normais

noamal_topic

groupId

Group ID do consumidor

GID_test

tag

Expressão de filtro de tag. Use * para assinar todas as mensagens ou especifique tags como `TagA

TagB`. Para mais detalhes, consulte Filtragem de mensagens.

*

orderTopic

Nome do tópico para mensagens ordenadas

order_topic

orderGroupId

Group ID do consumidor de mensagens ordenadas

GID_order

orderTag

Expressão de filtro de tag para mensagens ordenadas

tagA

Etapa 4: Execute a demonstração

Verifique se as classes em java-springboot-demo/src/main/java/com/aliyun/openservices/springboot/example foram importadas para o projeto e execute o método main().

Referência de código de exemplo

A demonstração inclui produtores e consumidores para cada tipo de mensagem compatível. Todo o source está disponível no GitHub.

Mensagens normais

Função

Classe

Produtor

ProducerClient.java

Envio síncrono

SyncProducerTest.java

Envio assíncrono

AsyncProducerTest.java

Consumidor (filtragem por tag)

ConsumerClient.java

Consumidor (filtragem por SQL)

SqlConsumerClient.java

Mensagens ordenadas

Função

Classe

Produtor

OrderProducerClient.java

Consumidor

OrderConsumerClient.java

Mensagens transacionais

Função

Classe

Produtor

TransactionProducerClient.java

Consumidor

ConsumerClient.java

Próximos passos