mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
fixed issue #2286 , ArithmeticException zero
This commit is contained in:
@@ -249,20 +249,27 @@ public class CanalRocketMQProducer extends AbstractMQProducer implements CanalMQ
|
|||||||
// 批量发送
|
// 批量发送
|
||||||
List<MessageQueue> queues = topicInfo.getMessageQueueList();
|
List<MessageQueue> queues = topicInfo.getMessageQueueList();
|
||||||
int size = queues.size();
|
int size = queues.size();
|
||||||
MessageQueue queue = null;
|
if (size <= 0) {
|
||||||
if (partition > queues.size()) {
|
// 可能是第一次创建
|
||||||
queue = queues.get(partition % size);
|
for (Message message : messages) {
|
||||||
} else {
|
sendMessage(message, partition);
|
||||||
queue = queues.get(partition);
|
}
|
||||||
}
|
} else {
|
||||||
|
MessageQueue queue = null;
|
||||||
try {
|
if (partition > size) {
|
||||||
SendResult sendResult = this.defaultMQProducer.send(messages, queue);
|
queue = queues.get(partition % size);
|
||||||
if (logger.isDebugEnabled()) {
|
} else {
|
||||||
logger.debug("Send Message Result: {}", sendResult);
|
queue = queues.get(partition);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
SendResult sendResult = this.defaultMQProducer.send(messages, queue);
|
||||||
|
if (logger.isDebugEnabled()) {
|
||||||
|
logger.debug("Send Message Result: {}", sendResult);
|
||||||
|
}
|
||||||
|
} catch (Throwable e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
} catch (Throwable e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user