Tous les produits
Search
Centre de documentation

ApsaraMQ for RocketMQ:Java SDK parameters for ApsaraMQ for RocketMQ

Dernière mise à jour :Aug 09, 2026

Configurez ces paramètres lorsque vous utilisez la version Community du SDK Java pour vous connecter à ApsaraMQ for RocketMQ. Les paramètres sont répartis en trois groupes : connexion, producteur et consommateur.

Paramètres de connexion

Définissez ces paramètres pour chaque client (producteur et consommateur).

Parameter Description Default
NAMESRV_ADDR Endpoint TCP de votre instance ApsaraMQ for RocketMQ. Récupérez cette information depuis la page Instance Details dans la console ApsaraMQ for RocketMQ. Aucune (obligatoire)
AccessKey ID AccessKey pour l'authentification. Consultez la rubrique Créer une paire de clés AccessKey. Aucune (obligatoire)
SecretKey Secret AccessKey pour l'authentification. Consultez la rubrique Créer une paire de clés AccessKey. Aucune (obligatoire)
AccessChannel Définissez la valeur sur CLOUD pour activer le traçage des messages cloud. Aucune

Tous les clients nécessitent les paramètres NAMESRV_ADDR, AccessKey et SecretKey. Pour la procédure de configuration complète, consultez la rubrique Préparer l'environnement.

Paramètres du producteur

Parameter Description Default Valid values
producerGroup ID du groupe de producteurs. Les producteurs d'une même application qui envoient les mêmes messages appartiennent à un seul groupe. Récupérez l'ID du groupe depuis la console ApsaraMQ for RocketMQ. Consultez la rubrique Termes. Aucune (obligatoire) --
sendMsgTimeout Délai d'attente pour l'envoi d'un message, en millisecondes. -- --
compressMsgBodyOverHowmuch Seuil de taille du corps du message déclenchant la compression automatique, en Ko. Les messages dépassant cette valeur sont compressés avant l'envoi et décompressés côté consommateur. 4 Ko --
retryTimesWhenSendFailed Nombre maximal de tentatives de renvoi en cas d'échec des envois synchrones. Ne s'applique pas aux envois asynchrones. -- --
maxMessageSize Taille maximale du message autorisée par le client, en Mo. Les messages dépassant cette limite déclenchent une erreur. Le broker appliquant également sa propre limite de taille, configurez conjointement les paramètres du client et du broker. 4 Mo --

Exemple : configurer un producteur

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();
Le paramètre retryTimesWhenSendFailed s'applique uniquement aux envois synchrones.

Paramètres du consommateur

Offset et pool de threads

Parameter Description Default Valid values
consumerGroup ID du groupe de consommateurs. Les consommateurs d'une même application qui s'abonnent aux mêmes messages et utilisent la même logique de consommation appartiennent à un seul groupe. Récupérez l'ID du groupe depuis la console ApsaraMQ for RocketMQ. Consultez la rubrique Termes. Aucune (obligatoire) --
consumeFromWhere Offset de départ lors du lancement d'un nouveau groupe de consommateurs. Dernier offset --
consumeThreadMin Nombre minimal de threads dans le pool de threads du consommateur. 20 --
consumeThreadMax Nombre maximal de threads dans le pool de threads du consommateur. Doit être égal à consumeThreadMin. 20 --

Contrôle de flux et nouvelles tentatives

Parameter Description Default Valid values
consumeConcurrentlyMaxSpan Écart d'offset maximal pour la consommation simultanée dans une seule file d'attente. 2000 1–65535
pullThresholdForQueue Nombre maximal de messages mis en cache localement par file d'attente. 1000 1–65535
pullThresholdSizeForQueue Taille totale maximale des messages mis en cache localement par file d'attente, en Mo. 100 Mo 1–1024
maxReconsumeTimes Nombre maximal de tentatives de re-consommation pour un message ayant échoué. 16 --
suspendCurrentQueueTimeMillis Intervalle minimal entre les nouvelles tentatives consécutives de messages ordonnés, en millisecondes. 1000 ms 10–30000

Exemple : configurer un consommateur 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();
Les paramètres consumeThreadMin et consumeThreadMax doivent avoir la même valeur.

Étapes suivantes