You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by li...@apache.org on 2018/05/31 06:47:42 UTC

[rocketmq] 02/04: fix RMQAsyncSend Thread-safe bugs

This is an automated email from the ASF dual-hosted git repository.

lizhanhui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git

commit 0ae3e4a002fdf168d3bed86fca470401bb2a2508
Author: shesheng <ju...@alibaba-inc.com>
AuthorDate: Wed May 30 17:01:32 2018 +0800

    fix RMQAsyncSend Thread-safe bugs
---
 .../org/apache/rocketmq/test/client/rmq/RMQAsyncSendProducer.java     | 4 +++-
 .../test/client/producer/async/AsyncSendWithMessageQueueIT.java       | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQAsyncSendProducer.java b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQAsyncSendProducer.java
index 4a2ce2b..2f8af68 100644
--- a/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQAsyncSendProducer.java
+++ b/test/src/main/java/org/apache/rocketmq/test/client/rmq/RMQAsyncSendProducer.java
@@ -18,6 +18,7 @@
 package org.apache.rocketmq.test.client.rmq;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.log4j.Logger;
@@ -38,7 +39,8 @@ public class RMQAsyncSendProducer extends AbstractMQProducer {
     private String nsAddr = null;
     private DefaultMQProducer producer = null;
     private SendCallback sendCallback = null;
-    private List<org.apache.rocketmq.client.producer.SendResult> successSendResult = new ArrayList<org.apache.rocketmq.client.producer.SendResult>();
+    private List<org.apache.rocketmq.client.producer.SendResult> successSendResult = Collections
+        .synchronizedList(new ArrayList<org.apache.rocketmq.client.producer.SendResult>());
     private AtomicInteger exceptionMsgCount = new AtomicInteger(
         0);
     private int msgSize = 0;
diff --git a/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithMessageQueueIT.java b/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithMessageQueueIT.java
index 3efc531..2147285 100644
--- a/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithMessageQueueIT.java
+++ b/test/src/test/java/org/apache/rocketmq/test/client/producer/async/AsyncSendWithMessageQueueIT.java
@@ -68,7 +68,7 @@ public class AsyncSendWithMessageQueueIT extends BaseConf {
 
         producer.clearMsg();
         consumer.clearMsg();
-
+	producer.getSuccessSendResult().clear();
         mq = new MessageQueue(topic, broker2Name, queueId);
         producer.asyncSend(msgSize, mq);
         producer.waitForResponse(10 * 1000);

-- 
To stop receiving notification emails like this one, please contact
lizhanhui@apache.org.