Todos os produtos
Search
Central de documentação

ApsaraMQ for RocketMQ:Set up the demo project for ApsaraMQ for RocketMQ

Última atualização: Jun 27, 2026

Crie e execute um projeto de teste com o SDK de cliente TCP para Java. O projeto de demonstração inclui exemplos funcionais de cinco tipos de mensagem — normal, ordenada, transacional, agendada e atrasada — em Java, Spring e Spring Boot.

Pré-requisitos

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

Configure o projeto de demonstração

Etapa 1: Importe o projeto

Importe os arquivos do projeto de demonstração para o IntelliJ IDEA.

Etapa 2: Atualize a versão do SDK

No arquivo pom.xml, atualize a dependência do SDK de cliente TCP para Java para a versão mais recente. Para consultar as versões disponíveis, veja as Notas de versão.

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

Etapa 3: Configure a classe MqConfig

Defina os seguintes campos na classe MqConfig para corresponder aos recursos criados:

public static final String TOPIC = "<your-topic>";
public static final String GROUP_ID = "<your-group-id>";
public static final String ORDER_TOPIC = "<your-order-topic>";
public static final String ORDER_GROUP_ID = "<your-order-group-id>";
public static final String ACCESS_KEY = "<your-access-key>";
public static final String SECRET_KEY = "<your-secret-key>";
public static final String TAG = "<your-message-tag>";
public static final String NAMESRV_ADDR = "<your-tcp-endpoint>";

Substitua os espaços reservados pelos valores reais:

Espaço reservado

Descrição

Onde encontrar

<your-topic>

Tópico para mensagens normais e transacionais

ApsaraMQ for RocketMQ console > sua instância > Topics

<your-group-id>

ID do grupo de consumidores

ApsaraMQ for RocketMQ console > sua instância > Groups

<your-order-topic>

Tópico para mensagens ordenadas

Mesmo local acima (crie um tópico separado para mensagens ordenadas)

<your-order-group-id>

Grupo de consumidores para mensagens ordenadas

Mesmo local acima

<your-access-key>

AccessKey ID da sua conta Alibaba Cloud

Consulte Criar um par de AccessKey

<your-secret-key>

AccessKey secret da sua conta Alibaba Cloud

Mesma referência acima

<your-message-tag>

Tag de mensagem personalizada para filtragem

Qualquer valor de string

<your-tcp-endpoint>

Endpoint TCP da sua instância

Página ApsaraMQ for RocketMQ console > sua instância > Instance Details > seção TCP Endpoint

Também é possível usar o par de AccessKey de um usuário RAM com permissões no tópico. Para obter detalhes sobre os parâmetros de configuração disponíveis, consulte Métodos e parâmetros .

Etapa 4: Configure o common.xml (apenas Spring e Spring Boot)

Se pretender usar os exemplos do Spring ou Spring Boot, atualize o arquivo common.xml com as informações dos seus recursos:

<props>
    <prop key="AccessKey">XXX</prop> <!--Replace with your AccessKey ID-->
    <prop key="SecretKey">XXX</prop> <!--Replace with your AccessKey secret-->
    <prop key="GROUP_ID">XXX</prop> <!--Replace with your consumer group ID-->
    <prop key="Topic">XXX</prop> <!--Replace with your topic-->
    <prop key="NAMESRV_ADDR">XXX</prop> <!--Replace with your TCP endpoint-->
</props>

Envie e receba mensagens

Importante

O projeto de demonstração executa produtores e consumidores em uma única thread. Em sistemas de produção, execute produtores e consumidores em threads ou hosts separados. Para exemplos multithread, consulte Enviar mensagens usando várias threads.

Execute cada exemplo chamando o método main da classe correspondente.

Envie mensagens

Execute a classe produtora correspondente ao tipo de mensagem e framework:

**Tipo de mensagem**

**Java**

**Spring**

**Spring Boot**

Normal

SimpleMQProducer

ProducerClient

ProducerClient

Transacional

SimpleTransactionProducer

TransactionProducerClient

TransactionProducerClient

Ordenada (FIFO)

SimpleOrderProducer

OrderProducerClient

OrderProducerClient

Agendada e atrasada

MQTimerProducer

Não suportado

Não suportado

Detalhes por tipo de mensagem:

  • Mensagens transacionais: A classe LocalTransactionCheckerImpl gerencia as verificações de status da transação local. Para conhecer o fluxo completo, consulte Enviar e receber mensagens transacionais.

  • Mensagens ordenadas: O envio e o consumo ocorrem na ordem FIFO (first-in-first-out). Para mais detalhes, consulte Enviar e assinar mensagens ordenadas.

  • Mensagens agendadas e atrasadas: Por padrão, a classe MQTimerProducer entrega mensagens após um atraso de 3 segundos. O atraso máximo configurável é de 40 dias. Para mais informações, consulte Enviar e receber mensagens agendadas.

Verifique se as mensagens foram enviadas

Após enviar as mensagens, acesse o console do ApsaraMQ for RocketMQ e consulte as mensagens por tópico. As mensagens enviadas devem aparecer nos resultados.

Receba mensagens

Execute a classe consumidora adequada ao tipo de mensagem e framework:

**Tipo de mensagem**

**Java**

**Spring**

**Spring Boot**

Normal

SimpleMQConsumer

ConsumerClient

ConsumerClient

Transacional

SimpleMQConsumer

ConsumerClient

ConsumerClient

Ordenada (FIFO)

SimpleOrderConsumer

OrderConsumerClient

OrderConsumerClient

Agendada e atrasada

SimpleMQConsumer

Não suportado

Não suportado

A inicialização da classe leva alguns segundos na primeira execução. Esse comportamento é esperado e ocorre apenas uma vez — em produção, as classes são inicializadas somente durante a inicialização da aplicação.

Verifique se as mensagens foram recebidas

Uma entrada de log confirma que o consumidor recebeu a mensagem. Para validar ainda mais, visualize o status dos consumidores no console do ApsaraMQ for RocketMQ. Os consumidores iniciados devem aparecer como online e assinantes do tópico.

Próximos passos