Todos los productos
Search
Centro de documentos

ApsaraMQ for RocketMQ:Integración con Spring

Última actualización: Sep 04, 2026

Envíe y reciba mensajes mediante el SDK de ApsaraMQ for RocketMQ para Java en una aplicación de Spring o Spring Boot.

ApsaraMQ for RocketMQ proporciona proyectos de demostración que integran el SDK ons-client en beans administrados por Spring, lo que ofrece componentes de productor y consumidor listos para la inyección de dependencias. Esta guía explica el ejemplo de Spring Boot. El ejemplo de Spring estándar sigue el mismo patrón.

Tipos de mensaje compatibles

La integración con Spring admite productores y consumidores para los siguientes tipos de mensaje:

  • Mensajes normales

  • Mensajes ordenados

  • Mensajes transaccionales

Nota

La integración con Spring no es compatible con mensajes programados ni mensajes diferidos.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

Paso 1: Descargar el proyecto de demostración

Clone o descargue uno de los proyectos de demostración desde GitHub:

Demostración

Repositorio

Spring Boot (utilizado en esta guía)

java-springboot-demo

Spring

java-spring-demo

Paso 2: Crear recursos

Cree los siguientes recursos en ApsaraMQ for RocketMQ console:

  1. Create an instance.

  2. Create a topic. Configure el tipo de mensaje para que coincida con los mensajes que planea enviar. Por ejemplo, seleccione Normal para mensajes normales o Ordered para mensajes ordenados.

  3. Create a group. Seleccione TCP como tipo de protocolo, ya que el SDK ons-client se comunica mediante TCP.

  4. Get the TCP endpoint para su instancia.

Paso 3: Configurar el proyecto de demostración

Abra el proyecto de demostración en IntelliJ IDEA y actualice la dependencia de Maven y las propiedades de la aplicación.

Agregar la dependencia ons-client

Agregue las siguientes dependencias a su archivo pom.xml. Reemplace la versión de ons-client con la última versión disponible. Para consultar el historial de versiones, consulte Release notes.

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

Establecer las propiedades de la aplicación

Edite el archivo java-springboot-demo/src/main/resources/application.properties con la información de los recursos del Paso 2.

Parámetro

Descripción

Ejemplo

accessKey

AccessKey ID para autenticación

<your-access-key-id>

secretKey

AccessKey secret para autenticación

<your-access-key-secret>

nameSrvAddr

Endpoint TCP de su instancia de ApsaraMQ for RocketMQ

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

topic

Nombre del topic para mensajes normales

noamal_topic

groupId

Group ID para el consumidor

GID_test

tag

Expresión de filtro de etiquetas. Use * para suscribirse a todos los mensajes o especifique etiquetas como `TagA

TagB`. Para más detalles, consulte Message filtering.

*

orderTopic

Nombre del topic para mensajes ordenados

order_topic

orderGroupId

Group ID para el consumidor de mensajes ordenados

GID_order

orderTag

Expresión de filtro de etiquetas para mensajes ordenados

tagA

Paso 4: Ejecutar la demostración

Asegúrese de que las clases ubicadas en java-springboot-demo/src/main/java/com/aliyun/openservices/springboot/example estén importadas en su proyecto y ejecute el método main().

Referencia de código de ejemplo

La demostración incluye productores y consumidores para cada tipo de mensaje compatible. Todo el código fuente está disponible en GitHub.

Mensajes normales

Función

Clase

Productor

ProducerClient.java

Envío síncrono

SyncProducerTest.java

Envío asíncrono

AsyncProducerTest.java

Consumidor (filtrado por etiqueta)

ConsumerClient.java

Consumidor (filtrado por SQL)

SqlConsumerClient.java

Mensajes ordenados

Función

Clase

Productor

OrderProducerClient.java

Consumidor

OrderConsumerClient.java

Mensajes transaccionales

Función

Clase

Productor

TransactionProducerClient.java

Consumidor

ConsumerClient.java

Pasos siguientes