Todos los productos
Search
Centro de documentos

ApsaraMQ for RocketMQ:Parámetros del SDK de Java para ApsaraMQ for RocketMQ

Última actualización: Sep 04, 2026

Configure estos parámetros al usar la Community Edition del SDK de Java para conectarse a ApsaraMQ for RocketMQ. Los parámetros se dividen en tres grupos: conexión, productor y consumidor.

Parámetros de conexión

Establezca estos parámetros en cada cliente productor y consumidor.

Parámetro

Descripción

Valor predeterminado

NAMESRV_ADDR

Endpoint TCP de su instancia de ApsaraMQ for RocketMQ. Obtenga este valor en la página Instance Details de la consola de ApsaraMQ for RocketMQ.

Ninguna (obligatorio)

AccessKey

AccessKey ID para autenticación. Consulte Create an AccessKey pair.

Ninguna (obligatorio)

SecretKey

AccessKey secret para autenticación. Consulte Create an AccessKey pair.

Ninguna (obligatorio)

AccessChannel

Establézcalo en CLOUD para habilitar el rastreo de mensajes en la nube.

Ninguna

Todos los clientes requieren NAMESRV_ADDR, AccessKey y SecretKey. Para ver el procedimiento completo de configuración, consulte Prepare the environment.

Parámetros del productor

Parámetro

Descripción

Valor predeterminado

Valores válidos

producerGroup

ID del grupo de productores. Los productores de una misma aplicación que envían los mismos mensajes pertenecen al mismo grupo. Obtenga el ID del grupo en la consola de ApsaraMQ for RocketMQ. Consulte Terms.

Ninguna (obligatorio)

--

sendMsgTimeout

Tiempo de espera para enviar un mensaje, en milisegundos.

--

--

compressMsgBodyOverHowmuch

Umbral de tamaño del cuerpo del mensaje para compresión automática, en KB. Los mensajes que superan este valor se comprimen antes del envío y se descomprimen en el lado del consumidor.

4 KB

--

retryTimesWhenSendFailed

Número máximo de reintentos para envíos síncronos con errores. No aplica a envíos asíncronos.

--

--

maxMessageSize

Tamaño máximo de mensaje permitido por el cliente, en MB. Los mensajes que exceden este límite generan un error. El broker también aplica su propio límite de tamaño; configure los parámetros del cliente y del broker de forma conjunta.

4 MB

--

Ejemplo: configurar un productor

DefaultMQProducer producer = new DefaultMQProducer("<your-producer-group-id>");
producer.setNamesrvAddr("<your-tcp-endpoint>");

// Timeout and retry
producer.setSendMsgTimeout(3000);                   // 3 seconds
producer.setRetryTimesWhenSendFailed(3);            // Retry up to 3 times (synchronous sends only)

// Compression and size limits
producer.setCompressMsgBodyOverHowmuch(4096);       // Compress messages over 4 KB
producer.setMaxMessageSize(4 * 1024 * 1024);        // 4 MB max message size

producer.start();
retryTimesWhenSendFailed solo aplica a envíos síncronos.

Parámetros del consumidor

Offset y pool de hilos

Parámetro

Descripción

Valor predeterminado

Valores válidos

consumerGroup

ID del grupo de consumidores. Los consumidores de una misma aplicación que se suscriben a los mismos mensajes y usan la misma lógica de consumo pertenecen al mismo grupo. Obtenga el ID del grupo en la consola de ApsaraMQ for RocketMQ. Consulte Terms.

Ninguna (obligatorio)

--

consumeFromWhere

Offset inicial cuando se inicia un nuevo grupo de consumidores.

Último offset

--

consumeThreadMin

Número mínimo de hilos en el pool de hilos del consumidor.

20

--

consumeThreadMax

Número máximo de hilos en el pool de hilos del consumidor. Debe ser igual a consumeThreadMin.

20

--

Control de flujo y reintentos

Parámetro

Descripción

Valor predeterminado

Valores válidos

consumeConcurrentlyMaxSpan

Intervalo máximo de offset para consumo concurrente en una sola cola.

2000

1–65535

pullThresholdForQueue

Número máximo de mensajes almacenados en caché localmente por cola.

1000

1–65535

pullThresholdSizeForQueue

Tamaño total máximo de mensajes almacenados en caché localmente por cola, en MB.

100 MB

1–1024

maxReconsumeTimes

Número máximo de intentos de reprocesamiento para un mensaje con errores.

16

--

suspendCurrentQueueTimeMillis

Intervalo mínimo entre reintentos consecutivos de mensajes ordenados, en milisegundos.

1000 ms

10–30000

Ejemplo: configurar un consumidor push

DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("<your-consumer-group-id>");
consumer.setNamesrvAddr("<your-tcp-endpoint>");

// Start consuming from the latest offset
consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET);

// Thread pool: min and max must match
consumer.setConsumeThreadMin(20);
consumer.setConsumeThreadMax(20);

// Flow control
consumer.setConsumeConcurrentlyMaxSpan(2000);
consumer.setPullThresholdForQueue(1000);
consumer.setPullThresholdSizeForQueue(100);       // 100 MB per queue

// Retry
consumer.setMaxReconsumeTimes(16);

consumer.subscribe("<your-topic>", "*");
consumer.registerMessageListener((msgs, context) -> {
    // Process messages
    return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
});

consumer.start();
consumeThreadMin y consumeThreadMax deben tener el mismo valor.

Pasos siguientes