This is an automated email from the ASF dual-hosted git repository.
jinrongtong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-e2e.git
The following commit(s) were added to refs/heads/master by this push:
new 3351469 Modify the project directory structure (#5)
3351469 is described below
commit 33514694368b574d641e6c63031a8c265a6db3de
Author: yueya <[email protected]>
AuthorDate: Wed Jan 4 10:54:15 2023 +0800
Modify the project directory structure (#5)
* Modify the method of reading a local property file
(cherry picked from commit 66c85b5482124d6e6b446fa03996619a219eb57e)
* Modify README.md
(cherry picked from commit 0c77d6a9087381f068b3c49d9ec80da1d86a2347)
* remove some useless annotations
(cherry picked from commit ae501bb4432fe13bcb2755a4cb86d5dba6b08570)
* Modify the project directory structure, add php/c/c#/go/rust catalog
---
README.md | 9 ---
README.md => java/README.md | 0
pom.xml => java/e2e/pom.xml | 30 +++++-----
.../java/org/apache/rocketmq/account/Account.java | 0
.../rocketmq/client/SimpleConsumerThread.java | 0
.../rocketmq/client/rmq/RMQNormalConsumer.java | 0
.../rocketmq/client/rmq/RMQNormalProducer.java | 0
.../client/trans/LocalTransactionCheckerImpl.java | 0
.../apache/rocketmq/common/AbstractMQConsumer.java | 0
.../apache/rocketmq/common/AbstractMQProducer.java | 0
.../org/apache/rocketmq/common/MQCollector.java | 0
.../org/apache/rocketmq/common/MQConsumer.java | 0
.../org/apache/rocketmq/common/MQProducer.java | 0
.../java/org/apache/rocketmq/enums/TESTSET.java | 0
.../org/apache/rocketmq/factory/AclClient.java | 0
.../org/apache/rocketmq/factory/BaseFactory.java | 0
.../factory/ClientConfigurationFactory.java | 0
.../apache/rocketmq/factory/ConsumerFactory.java | 0
.../apache/rocketmq/factory/MQMessageFactory.java | 0
.../apache/rocketmq/factory/MessageFactory.java | 0
.../apache/rocketmq/factory/ProducerFactory.java | 0
.../org/apache/rocketmq/frame/BaseOperate.java | 12 +++-
.../org/apache/rocketmq/frame/ResourceInit.java | 0
.../rocketmq/listener/rmq/RMQNormalListener.java | 0
.../java/org/apache/rocketmq/util/AssertUtils.java | 0
.../java/org/apache/rocketmq/util/DateUtils.java | 0
.../java/org/apache/rocketmq/util/FileUtil.java | 0
.../java/org/apache/rocketmq/util/MQAdmin.java | 11 ++++
.../main/java/org/apache/rocketmq/util/MQWait.java | 0
.../java/org/apache/rocketmq/util/NameUtils.java | 0
.../java/org/apache/rocketmq/util/RandomUtils.java | 0
.../java/org/apache/rocketmq/util/TestUtils.java | 0
.../java/org/apache/rocketmq/util/VerifyUtils.java | 13 +++--
.../rocketmq/util/data/collect/DataCollector.java | 2 +
.../util/data/collect/DataCollectorManager.java | 2 +-
.../rocketmq/util/data/collect/DataFilter.java | 0
.../data/collect/impl/ListDataCollectorImpl.java | 24 ++++----
.../data/collect/impl/MapDataCollectorImpl.java | 28 +++++-----
.../broker/client/consumer/ConsumerGroupTest.java | 0
.../client/consumer/PushConsumerInitTest.java | 0
.../client/consumer/SimpleConsumerInitTest.java | 0
.../broker/client/message/MessageAbnormalTest.java | 0
.../client/message/MessageBodyContentTest.java | 0
.../broker/client/message/MessageKeyTest.java | 0
.../broker/client/message/MessageTagTest.java | 0
.../client/message/MessageUserPropertyTest.java | 0
.../client/message/NormalMessageSizeTest.java | 0
.../broker/client/producer/ProducerInitTest.java | 0
.../rocketmq/broker/cluster/ClusterTest.java | 0
.../rocketmq/broker/example/ProducerExample.java | 0
.../rocketmq/broker/filter/push/SqlFilterTest.java | 0
.../filter/push/SqlFilterWithOrderMsgTest.java | 0
.../rocketmq/broker/filter/push/TagFilterTest.java | 0
.../rocketmq/broker/offset/ResetOffsetTest.java | 65 ++++++++++++++--------
.../rocketmq/broker/server/DelayMessageTest.java | 0
.../rocketmq/broker/server/NormalMessageTest.java | 0
.../rocketmq/broker/server/OrderMessageTest.java | 0
.../broker/server/TransactionMessageTest.java | 0
.../abnormal/DynamicChangeConsumeGroupTest.java | 0
.../server/abnormal/PushConsumerRetryTest.java | 0
.../rocketmq/broker/simple/SimpleAckTest.java | 0
.../broker/simple/SimpleOrderParamTest.java | 0
.../rocketmq/broker/simple/SimpleOrderTest.java | 0
.../rocketmq/broker/simple/SimpleParamTest.java | 2 +-
.../broker/simple/SimpleTopicTypeTest.java | 0
java/e2e/src/test/resources/env/daily/daily.conf | 6 ++
.../src}/test/resources/junit-platform.properties | 0
.../e2e/src}/test/resources/log4j.properties | 0
.../e2e/src}/test/resources/logback-test.xml | 0
java/pom.xml | 21 +++++++
{style => java/style}/copyright/Apache.xml | 0
.../style}/copyright/profiles_settings.xml | 0
{style => java/style}/rmq_checkstyle.xml | 0
{style => java/style}/rmq_codeStyle.xml | 0
src/test/resources/env/daily/daily.conf | 6 --
75 files changed, 147 insertions(+), 84 deletions(-)
diff --git a/README.md b/README.md
index c1081e8..c9cc7e5 100644
--- a/README.md
+++ b/README.md
@@ -30,12 +30,3 @@ RocketMQ E2E Test
* Retry
* Normal message
* Order message
-
-#### How to start
-```angular2html
-mvn clean test -B -Dgroups=smoke -Dcluster=DefaultCluster
-```
-##### Options
-* `ALL_IP` : not required, default is null
-* `cluster`: not required, default `DefaultCluster`
-* `groups`: param of junit5,
`src/main/java/org/apache/rocketmq/enums/TESTSET.java`
\ No newline at end of file
diff --git a/README.md b/java/README.md
similarity index 100%
copy from README.md
copy to java/README.md
diff --git a/pom.xml b/java/e2e/pom.xml
similarity index 91%
rename from pom.xml
rename to java/e2e/pom.xml
index 1023fd7..83d0640 100644
--- a/pom.xml
+++ b/java/e2e/pom.xml
@@ -4,9 +4,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.rocketmq</groupId>
- <artifactId>rocketmq-e2e</artifactId>
- <version>1.0-SNAPSHOT</version>
+ <parent>
+ <groupId>org.apache.rocketmq</groupId>
+ <artifactId>rocketmq-java-test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>rocketmq-java-e2e</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
@@ -18,11 +22,11 @@
</properties>
<dependencies>
-<!-- <dependency>-->
-<!-- <groupId>org.apache.rocketmq</groupId>-->
-<!-- <artifactId>rocketmq-client</artifactId>-->
-<!-- <version>${rocketmq.client.version}</version>-->
-<!-- </dependency>-->
+ <!-- <dependency>-->
+ <!-- <groupId>org.apache.rocketmq</groupId>-->
+ <!-- <artifactId>rocketmq-client</artifactId>-->
+ <!-- <version>${rocketmq.client.version}</version>-->
+ <!-- </dependency>-->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client-java</artifactId>
@@ -64,11 +68,11 @@
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</dependency>
-<!-- <dependency>-->
-<!-- <groupId>org.slf4j</groupId>-->
-<!-- <artifactId>slf4j-log4j12</artifactId>-->
-<!-- <version>1.7.7</version>-->
-<!-- </dependency>-->
+ <!-- <dependency>-->
+ <!-- <groupId>org.slf4j</groupId>-->
+ <!-- <artifactId>slf4j-log4j12</artifactId>-->
+ <!-- <version>1.7.7</version>-->
+ <!-- </dependency>-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
diff --git a/src/main/java/org/apache/rocketmq/account/Account.java
b/java/e2e/src/main/java/org/apache/rocketmq/account/Account.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/account/Account.java
rename to java/e2e/src/main/java/org/apache/rocketmq/account/Account.java
diff --git a/src/main/java/org/apache/rocketmq/client/SimpleConsumerThread.java
b/java/e2e/src/main/java/org/apache/rocketmq/client/SimpleConsumerThread.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/client/SimpleConsumerThread.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/client/SimpleConsumerThread.java
diff --git
a/src/main/java/org/apache/rocketmq/client/rmq/RMQNormalConsumer.java
b/java/e2e/src/main/java/org/apache/rocketmq/client/rmq/RMQNormalConsumer.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/client/rmq/RMQNormalConsumer.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/client/rmq/RMQNormalConsumer.java
diff --git
a/src/main/java/org/apache/rocketmq/client/rmq/RMQNormalProducer.java
b/java/e2e/src/main/java/org/apache/rocketmq/client/rmq/RMQNormalProducer.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/client/rmq/RMQNormalProducer.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/client/rmq/RMQNormalProducer.java
diff --git
a/src/main/java/org/apache/rocketmq/client/trans/LocalTransactionCheckerImpl.java
b/java/e2e/src/main/java/org/apache/rocketmq/client/trans/LocalTransactionCheckerImpl.java
similarity index 100%
rename from
src/main/java/org/apache/rocketmq/client/trans/LocalTransactionCheckerImpl.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/client/trans/LocalTransactionCheckerImpl.java
diff --git a/src/main/java/org/apache/rocketmq/common/AbstractMQConsumer.java
b/java/e2e/src/main/java/org/apache/rocketmq/common/AbstractMQConsumer.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/common/AbstractMQConsumer.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/common/AbstractMQConsumer.java
diff --git a/src/main/java/org/apache/rocketmq/common/AbstractMQProducer.java
b/java/e2e/src/main/java/org/apache/rocketmq/common/AbstractMQProducer.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/common/AbstractMQProducer.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/common/AbstractMQProducer.java
diff --git a/src/main/java/org/apache/rocketmq/common/MQCollector.java
b/java/e2e/src/main/java/org/apache/rocketmq/common/MQCollector.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/common/MQCollector.java
rename to java/e2e/src/main/java/org/apache/rocketmq/common/MQCollector.java
diff --git a/src/main/java/org/apache/rocketmq/common/MQConsumer.java
b/java/e2e/src/main/java/org/apache/rocketmq/common/MQConsumer.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/common/MQConsumer.java
rename to java/e2e/src/main/java/org/apache/rocketmq/common/MQConsumer.java
diff --git a/src/main/java/org/apache/rocketmq/common/MQProducer.java
b/java/e2e/src/main/java/org/apache/rocketmq/common/MQProducer.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/common/MQProducer.java
rename to java/e2e/src/main/java/org/apache/rocketmq/common/MQProducer.java
diff --git a/src/main/java/org/apache/rocketmq/enums/TESTSET.java
b/java/e2e/src/main/java/org/apache/rocketmq/enums/TESTSET.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/enums/TESTSET.java
rename to java/e2e/src/main/java/org/apache/rocketmq/enums/TESTSET.java
diff --git a/src/main/java/org/apache/rocketmq/factory/AclClient.java
b/java/e2e/src/main/java/org/apache/rocketmq/factory/AclClient.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/factory/AclClient.java
rename to java/e2e/src/main/java/org/apache/rocketmq/factory/AclClient.java
diff --git a/src/main/java/org/apache/rocketmq/factory/BaseFactory.java
b/java/e2e/src/main/java/org/apache/rocketmq/factory/BaseFactory.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/factory/BaseFactory.java
rename to java/e2e/src/main/java/org/apache/rocketmq/factory/BaseFactory.java
diff --git
a/src/main/java/org/apache/rocketmq/factory/ClientConfigurationFactory.java
b/java/e2e/src/main/java/org/apache/rocketmq/factory/ClientConfigurationFactory.java
similarity index 100%
rename from
src/main/java/org/apache/rocketmq/factory/ClientConfigurationFactory.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/factory/ClientConfigurationFactory.java
diff --git a/src/main/java/org/apache/rocketmq/factory/ConsumerFactory.java
b/java/e2e/src/main/java/org/apache/rocketmq/factory/ConsumerFactory.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/factory/ConsumerFactory.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/factory/ConsumerFactory.java
diff --git a/src/main/java/org/apache/rocketmq/factory/MQMessageFactory.java
b/java/e2e/src/main/java/org/apache/rocketmq/factory/MQMessageFactory.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/factory/MQMessageFactory.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/factory/MQMessageFactory.java
diff --git a/src/main/java/org/apache/rocketmq/factory/MessageFactory.java
b/java/e2e/src/main/java/org/apache/rocketmq/factory/MessageFactory.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/factory/MessageFactory.java
rename to java/e2e/src/main/java/org/apache/rocketmq/factory/MessageFactory.java
diff --git a/src/main/java/org/apache/rocketmq/factory/ProducerFactory.java
b/java/e2e/src/main/java/org/apache/rocketmq/factory/ProducerFactory.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/factory/ProducerFactory.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/factory/ProducerFactory.java
diff --git a/src/main/java/org/apache/rocketmq/frame/BaseOperate.java
b/java/e2e/src/main/java/org/apache/rocketmq/frame/BaseOperate.java
similarity index 88%
rename from src/main/java/org/apache/rocketmq/frame/BaseOperate.java
rename to java/e2e/src/main/java/org/apache/rocketmq/frame/BaseOperate.java
index 6b65615..416ffbe 100644
--- a/src/main/java/org/apache/rocketmq/frame/BaseOperate.java
+++ b/java/e2e/src/main/java/org/apache/rocketmq/frame/BaseOperate.java
@@ -70,7 +70,17 @@ public class BaseOperate extends ResourceInit {
String topic = String.format("topic_%s_%s_%s", messageType,
methodName, RandomUtils.getStringWithCharacter(6));
log.info("[Topic] topic:{}, messageType:{}, methodName:{}", topic,
messageType, methodName);
boolean result = MQAdmin.createTopic(cluster, topic, 8, messageType);
- Assertions.assertTrue(result, String.format("create topic:%s failed",
topic));
+ Assertions.assertTrue(result, String.format("Create topic:%s failed",
topic));
+ return topic;
+ }
+
+ protected static String resetOffsetByTimestamp(String consumerGroup,
String topic, long timestamp) {
+ Boolean result = MQAdmin.resetOffsetByTimestamp(consumerGroup, topic,
timestamp);
+ if (result) {
+ log.info(String.format("Reset offset success, consumerGroup:%s,
topic:%s, timestamp:%s", consumerGroup, topic, timestamp));
+ } else {
+ Assertions.fail(String.format("Reset offset failed,
consumerGroup:%s, topic:%s, timestamp:%s", consumerGroup, topic, timestamp));
+ }
return topic;
}
diff --git a/src/main/java/org/apache/rocketmq/frame/ResourceInit.java
b/java/e2e/src/main/java/org/apache/rocketmq/frame/ResourceInit.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/frame/ResourceInit.java
rename to java/e2e/src/main/java/org/apache/rocketmq/frame/ResourceInit.java
diff --git
a/src/main/java/org/apache/rocketmq/listener/rmq/RMQNormalListener.java
b/java/e2e/src/main/java/org/apache/rocketmq/listener/rmq/RMQNormalListener.java
similarity index 100%
rename from
src/main/java/org/apache/rocketmq/listener/rmq/RMQNormalListener.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/listener/rmq/RMQNormalListener.java
diff --git a/src/main/java/org/apache/rocketmq/util/AssertUtils.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/AssertUtils.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/util/AssertUtils.java
rename to java/e2e/src/main/java/org/apache/rocketmq/util/AssertUtils.java
diff --git a/src/main/java/org/apache/rocketmq/util/DateUtils.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/DateUtils.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/util/DateUtils.java
rename to java/e2e/src/main/java/org/apache/rocketmq/util/DateUtils.java
diff --git a/src/main/java/org/apache/rocketmq/util/FileUtil.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/FileUtil.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/util/FileUtil.java
rename to java/e2e/src/main/java/org/apache/rocketmq/util/FileUtil.java
diff --git a/src/main/java/org/apache/rocketmq/util/MQAdmin.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/MQAdmin.java
similarity index 96%
rename from src/main/java/org/apache/rocketmq/util/MQAdmin.java
rename to java/e2e/src/main/java/org/apache/rocketmq/util/MQAdmin.java
index 85d1692..b69ad7b 100644
--- a/src/main/java/org/apache/rocketmq/util/MQAdmin.java
+++ b/java/e2e/src/main/java/org/apache/rocketmq/util/MQAdmin.java
@@ -134,6 +134,17 @@ public class MQAdmin {
return createResult;
}
+ public static Boolean resetOffsetByTimestamp(String consumerGroup, String
topic, long timestamp) {
+ boolean result = false;
+ try {
+ mqAdminExt.resetOffsetByTimestamp(topic, consumerGroup, timestamp,
true);
+ result = true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+
private static boolean checkConsumerGroupExist(DefaultMQAdminExt
mqAdminExt, String consumerGroup) {
boolean createResult = false;
try {
diff --git a/src/main/java/org/apache/rocketmq/util/MQWait.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/MQWait.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/util/MQWait.java
rename to java/e2e/src/main/java/org/apache/rocketmq/util/MQWait.java
diff --git a/src/main/java/org/apache/rocketmq/util/NameUtils.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/NameUtils.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/util/NameUtils.java
rename to java/e2e/src/main/java/org/apache/rocketmq/util/NameUtils.java
diff --git a/src/main/java/org/apache/rocketmq/util/RandomUtils.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/RandomUtils.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/util/RandomUtils.java
rename to java/e2e/src/main/java/org/apache/rocketmq/util/RandomUtils.java
diff --git a/src/main/java/org/apache/rocketmq/util/TestUtils.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/TestUtils.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/util/TestUtils.java
rename to java/e2e/src/main/java/org/apache/rocketmq/util/TestUtils.java
diff --git a/src/main/java/org/apache/rocketmq/util/VerifyUtils.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/VerifyUtils.java
similarity index 98%
rename from src/main/java/org/apache/rocketmq/util/VerifyUtils.java
rename to java/e2e/src/main/java/org/apache/rocketmq/util/VerifyUtils.java
index 84f6657..6c6eb7c 100644
--- a/src/main/java/org/apache/rocketmq/util/VerifyUtils.java
+++ b/java/e2e/src/main/java/org/apache/rocketmq/util/VerifyUtils.java
@@ -384,17 +384,18 @@ public class VerifyUtils {
iter.remove();
} else if (getRepeatedTimes(receivedMessagesCopy,
enqueueMessageId) > consumedTimes) {
Assertions.fail(
- String.format("More retry messages were consumed
than expected (including one original message) Except:%s, Actual:%s, MsgId:%s",
consumedTimes, getRepeatedTimes(receivedMessagesCopy, enqueueMessageId),
- enqueueMessageId));
+ String.format("More retry messages were consumed than
expected (including one original message) Except:%s, Actual:%s, MsgId:%s",
consumedTimes, getRepeatedTimes(receivedMessagesCopy, enqueueMessageId),
+ enqueueMessageId));
//log.error("More retry messages were consumed than
expected, Except:{}, Actual:{}", consumedTimes,
getRepeatedTimes(receivedMessagesCopy, message));
}
}
if (sendMessages.isEmpty()) {
break;
}
+
if (System.currentTimeMillis() - currentTime >= timeoutMills) {
- log.error("Timeout but not received all send messages, send {}
, recv {}, not received msg: {}\n received msg:{}\n",
- enqueueMessages.getDataSize(),
receivedMessagesCopy.size(), sendMessages, receivedMessagesCopy);
+ log.error("Timeout but not received all send
messages,topic:{}, send {} , recv {}, not received msg: {}\n received
msg:{}\n",
+ dequeueMessages.getDataSize() > 0 ? ((MessageView)
dequeueMessages.getFirstElement()).getTopic() : null,
enqueueMessages.getDataSize(), receivedMessagesCopy.size(), sendMessages,
receivedMessagesCopy);
break;
}
TestUtils.waitForMoment(500L);
@@ -494,10 +495,10 @@ public class VerifyUtils {
long currentTime = System.currentTimeMillis();
while (currentTime + timeout * 1000L > System.currentTimeMillis()) {
if (receivedMessages.getDataSize() > 0) {
- Assertions.fail("Consume to message");
+ Assertions.fail(String.format("Consumed %s messages",
receivedMessages.getDataSize()));
break;
}
- TestUtils.waitForSeconds(5);
+ TestUtils.waitForSeconds(1);
}
}
diff --git
a/src/main/java/org/apache/rocketmq/util/data/collect/DataCollector.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/DataCollector.java
similarity index 98%
rename from
src/main/java/org/apache/rocketmq/util/data/collect/DataCollector.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/DataCollector.java
index 2283182..04ab2c9 100644
--- a/src/main/java/org/apache/rocketmq/util/data/collect/DataCollector.java
+++
b/java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/DataCollector.java
@@ -94,4 +94,6 @@ public interface DataCollector<T> {
void unlockIncrement();
T getFirstElement();
+
+// DataCollector<T> getCopyData();
}
diff --git
a/src/main/java/org/apache/rocketmq/util/data/collect/DataCollectorManager.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/DataCollectorManager.java
similarity index 99%
rename from
src/main/java/org/apache/rocketmq/util/data/collect/DataCollectorManager.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/DataCollectorManager.java
index ea2c471..7083026 100644
---
a/src/main/java/org/apache/rocketmq/util/data/collect/DataCollectorManager.java
+++
b/java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/DataCollectorManager.java
@@ -24,7 +24,7 @@ import
org.apache.rocketmq.util.data.collect.impl.MapDataCollectorImpl;
public final class DataCollectorManager {
private static DataCollectorManager instance = new DataCollectorManager();
- private Map<String, DataCollector> collectMap = new HashMap<String,
DataCollector>();
+ private Map<String, DataCollector> collectMap = new HashMap<>();
private Object lock = new Object();
private DataCollectorManager() {
diff --git
a/src/main/java/org/apache/rocketmq/util/data/collect/DataFilter.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/DataFilter.java
similarity index 100%
rename from src/main/java/org/apache/rocketmq/util/data/collect/DataFilter.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/DataFilter.java
diff --git
a/src/main/java/org/apache/rocketmq/util/data/collect/impl/ListDataCollectorImpl.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/impl/ListDataCollectorImpl.java
similarity index 79%
rename from
src/main/java/org/apache/rocketmq/util/data/collect/impl/ListDataCollectorImpl.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/impl/ListDataCollectorImpl.java
index 264326a..ae5a3c1 100644
---
a/src/main/java/org/apache/rocketmq/util/data/collect/impl/ListDataCollectorImpl.java
+++
b/java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/impl/ListDataCollectorImpl.java
@@ -24,22 +24,22 @@ import java.util.HashSet;
import java.util.List;
import org.apache.rocketmq.util.data.collect.DataCollector;
-public class ListDataCollectorImpl implements DataCollector {
+public class ListDataCollectorImpl<T> implements DataCollector<T> {
- private List<Object> datas = new ArrayList<Object>();
+ private final List<T> datas = new ArrayList<>();
private boolean lock = false;
public ListDataCollectorImpl() {
}
- public ListDataCollectorImpl(Collection<Object> datas) {
- for (Object data : datas) {
+ public ListDataCollectorImpl(Collection<T> datas) {
+ for (T data : datas) {
addData(data);
}
}
- public Collection<Object> getAllData() {
+ public Collection<T> getAllData() {
return datas;
}
@@ -52,7 +52,7 @@ public class ListDataCollectorImpl implements DataCollector {
return getAllDataWithoutDuplicate().size();
}
- public synchronized void addData(Object data) {
+ public synchronized void addData(T data) {
if (lock) {
return;
}
@@ -67,8 +67,8 @@ public class ListDataCollectorImpl implements DataCollector {
return Collections.frequency(datas, data) == 1;
}
- public synchronized Collection<Object> getAllDataWithoutDuplicate() {
- return new HashSet<Object>(datas);
+ public synchronized Collection<T> getAllDataWithoutDuplicate() {
+ return new HashSet<T>(datas);
}
public int getRepeatedTimeForData(Object data) {
@@ -94,7 +94,11 @@ public class ListDataCollectorImpl implements DataCollector {
}
@Override
- public Object getFirstElement() {
- return null;
+ public T getFirstElement() {
+ return datas.get(0);
}
+
+// @Override public DataCollector getCopyData() {
+// return new ArrayList<T>(datas);
+// }
}
diff --git
a/src/main/java/org/apache/rocketmq/util/data/collect/impl/MapDataCollectorImpl.java
b/java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/impl/MapDataCollectorImpl.java
similarity index 77%
rename from
src/main/java/org/apache/rocketmq/util/data/collect/impl/MapDataCollectorImpl.java
rename to
java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/impl/MapDataCollectorImpl.java
index 93a326c..8c1293b 100644
---
a/src/main/java/org/apache/rocketmq/util/data/collect/impl/MapDataCollectorImpl.java
+++
b/java/e2e/src/main/java/org/apache/rocketmq/util/data/collect/impl/MapDataCollectorImpl.java
@@ -26,22 +26,22 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.rocketmq.util.data.collect.DataCollector;
-public class MapDataCollectorImpl implements DataCollector {
+public class MapDataCollectorImpl<T> implements DataCollector<T> {
- private Map<Object, AtomicInteger> datas = new ConcurrentHashMap<Object,
AtomicInteger>();
+ private Map<T, AtomicInteger> datas = new ConcurrentHashMap<>();
private boolean lock = false;
public MapDataCollectorImpl() {
}
- public MapDataCollectorImpl(Collection<Object> datas) {
- for (Object data : datas) {
+ public MapDataCollectorImpl(Collection<T> datas) {
+ for (T data : datas) {
addData(data);
}
}
- public synchronized void addData(Object data) {
+ public synchronized void addData(T data) {
if (lock) {
return;
}
@@ -52,9 +52,9 @@ public class MapDataCollectorImpl implements DataCollector {
}
}
- public Collection<Object> getAllData() {
- List<Object> lst = new ArrayList<Object>();
- for (Entry<Object, AtomicInteger> entry : datas.entrySet()) {
+ public Collection<T> getAllData() {
+ List<T> lst = new ArrayList<>();
+ for (Entry<T, AtomicInteger> entry : datas.entrySet()) {
for (int i = 0; i < entry.getValue().get(); i++) {
lst.add(entry.getKey());
}
@@ -79,25 +79,25 @@ public class MapDataCollectorImpl implements DataCollector {
return sum;
}
- public boolean isRepeatedData(Object data) {
+ public boolean isRepeatedData(T data) {
if (datas.containsKey(data)) {
return datas.get(data).get() == 1;
}
return false;
}
- public Collection<Object> getAllDataWithoutDuplicate() {
+ public Collection<T> getAllDataWithoutDuplicate() {
return datas.keySet();
}
- public int getRepeatedTimeForData(Object data) {
+ public int getRepeatedTimeForData(T data) {
if (datas.containsKey(data)) {
return datas.get(data).intValue();
}
return 0;
}
- public void removeData(Object data) {
+ public void removeData(T data) {
datas.remove(data);
}
@@ -110,7 +110,7 @@ public class MapDataCollectorImpl implements DataCollector {
}
@Override
- public Object getFirstElement() {
- return null;
+ public T getFirstElement() {
+ return (T) datas.get(0);
}
}
diff --git
a/src/test/java/org/apache/rocketmq/broker/client/consumer/ConsumerGroupTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/client/consumer/ConsumerGroupTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/client/consumer/ConsumerGroupTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/client/consumer/ConsumerGroupTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/client/consumer/PushConsumerInitTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/client/consumer/PushConsumerInitTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/client/consumer/PushConsumerInitTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/client/consumer/PushConsumerInitTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/client/consumer/SimpleConsumerInitTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/client/consumer/SimpleConsumerInitTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/client/consumer/SimpleConsumerInitTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/client/consumer/SimpleConsumerInitTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/client/message/MessageAbnormalTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/client/message/MessageAbnormalTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/client/message/MessageAbnormalTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/client/message/MessageAbnormalTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/client/message/MessageBodyContentTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/client/message/MessageBodyContentTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/client/message/MessageBodyContentTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/client/message/MessageBodyContentTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/client/message/MessageKeyTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/client/message/MessageKeyTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/client/message/MessageKeyTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/client/message/MessageKeyTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/client/message/MessageTagTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/client/message/MessageTagTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/client/message/MessageTagTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/client/message/MessageTagTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/client/message/MessageUserPropertyTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/client/message/MessageUserPropertyTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/client/message/MessageUserPropertyTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/client/message/MessageUserPropertyTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/client/message/NormalMessageSizeTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/client/message/NormalMessageSizeTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/client/message/NormalMessageSizeTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/client/message/NormalMessageSizeTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/client/producer/ProducerInitTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/client/producer/ProducerInitTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/client/producer/ProducerInitTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/client/producer/ProducerInitTest.java
diff --git a/src/test/java/org/apache/rocketmq/broker/cluster/ClusterTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/cluster/ClusterTest.java
similarity index 100%
rename from src/test/java/org/apache/rocketmq/broker/cluster/ClusterTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/cluster/ClusterTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/example/ProducerExample.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/example/ProducerExample.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/example/ProducerExample.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/example/ProducerExample.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/filter/push/SqlFilterTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/filter/push/SqlFilterTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/filter/push/SqlFilterTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/filter/push/SqlFilterTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/filter/push/SqlFilterWithOrderMsgTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/filter/push/SqlFilterWithOrderMsgTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/filter/push/SqlFilterWithOrderMsgTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/filter/push/SqlFilterWithOrderMsgTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/filter/push/TagFilterTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/filter/push/TagFilterTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/filter/push/TagFilterTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/filter/push/TagFilterTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/server/NormalMessageTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/offset/ResetOffsetTest.java
similarity index 69%
copy from src/test/java/org/apache/rocketmq/broker/server/NormalMessageTest.java
copy to
java/e2e/src/test/java/org/apache/rocketmq/broker/offset/ResetOffsetTest.java
index 7f9bb82..0a1db0a 100644
--- a/src/test/java/org/apache/rocketmq/broker/server/NormalMessageTest.java
+++
b/java/e2e/src/test/java/org/apache/rocketmq/broker/offset/ResetOffsetTest.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.rocketmq.broker.server;
+package org.apache.rocketmq.broker.offset;
import java.time.Duration;
-import java.util.concurrent.Callable;
+import java.util.Collection;
import org.apache.rocketmq.client.apis.consumer.FilterExpression;
import org.apache.rocketmq.client.apis.message.Message;
import org.apache.rocketmq.client.rmq.RMQNormalConsumer;
@@ -31,7 +31,11 @@ import org.apache.rocketmq.factory.ProducerFactory;
import org.apache.rocketmq.frame.BaseOperate;
import org.apache.rocketmq.listener.rmq.RMQNormalListener;
import org.apache.rocketmq.util.NameUtils;
+import org.apache.rocketmq.util.RandomUtils;
+import org.apache.rocketmq.util.TestUtils;
import org.apache.rocketmq.util.VerifyUtils;
+import org.apache.rocketmq.util.data.collect.DataCollector;
+import org.apache.rocketmq.util.data.collect.DataCollectorManager;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
@@ -41,13 +45,9 @@ import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.awaitility.Awaitility.await;
-
@Tag(TESTSET.NORMAL)
-@Tag(TESTSET.SMOKE)
-public class NormalMessageTest extends BaseOperate {
- private final Logger log =
LoggerFactory.getLogger(NormalMessageTest.class);
+public class ResetOffsetTest extends BaseOperate {
+ private final Logger log = LoggerFactory.getLogger(ResetOffsetTest.class);
private String tag;
private final static int SEND_NUM = 10;
private RMQNormalProducer producer;
@@ -73,8 +73,8 @@ public class NormalMessageTest extends BaseOperate {
}
@Test
- @DisplayName("Send 10 normal messages synchronously, expecting those 10
messages to be consumed through PushConsumer")
- public void testNormal_Send_PushConsume() {
+ @DisplayName("Send 10 messages, reset the offset to the beginning after
successful consumption, and expect to consume the 10 messages again")
+ public void testResetOffsetFromBeginning() {
String methodName =
Thread.currentThread().getStackTrace()[1].getMethodName();
String topic = getTopic(TopicMessageType.NORMAL.getValue(),
methodName);
String groupId = getGroupId(methodName);
@@ -84,11 +84,28 @@ public class NormalMessageTest extends BaseOperate {
producer = ProducerFactory.getRMQProducer(account, topic);
Assertions.assertNotNull(producer, "Get Producer failed");
+
+ long timestamp = System.currentTimeMillis();
+ TestUtils.waitForSeconds(1);
for (int i = 0; i < SEND_NUM; i++) {
Message message = MessageFactory.buildMessage(topic, tag,
String.valueOf(i));
producer.send(message);
}
+
Assertions.assertEquals(SEND_NUM,
producer.getEnqueueMessages().getDataSize(), "send message failed");
+
+ DataCollector enqueueMessages =
DataCollectorManager.getInstance().fetchListDataCollector(RandomUtils.getStringByUUID());
+ Collection<Object> collection =
producer.getEnqueueMessages().getAllData();
+ for (Object obj : collection) {
+ enqueueMessages.addData(obj);
+ }
+
+ VerifyUtils.verifyNormalMessage(enqueueMessages,
pushConsumer.getListener().getDequeueMessages());
+ pushConsumer.getListener().getDequeueMessages().resetData();
+
+ //reset offset from begin
+ resetOffsetByTimestamp(groupId, topic, timestamp);
+
VerifyUtils.verifyNormalMessage(producer.getEnqueueMessages(),
pushConsumer.getListener().getDequeueMessages());
pushConsumer.close();
@@ -96,29 +113,31 @@ public class NormalMessageTest extends BaseOperate {
}
@Test
- @DisplayName("Send 10 normal messages asynchronously, expecting the 10
messages to be consumed by PushConsumer")
- public void testNormal_SendAsync_PushConsume() {
+ @DisplayName("Send 10 messages, reset the offset to the latest after
successful consumption, and expect to consume the 10 messages again")
+ public void testResetOffsetFromLatest() {
String methodName =
Thread.currentThread().getStackTrace()[1].getMethodName();
String topic = getTopic(TopicMessageType.NORMAL.getValue(),
methodName);
String groupId = getGroupId(methodName);
- pushConsumer = ConsumerFactory.getRMQPushConsumer(account, topic,
groupId, new FilterExpression(tag), new RMQNormalListener());
simpleConsumer = ConsumerFactory.getRMQSimpleConsumer(account, topic,
groupId, new FilterExpression(tag), Duration.ofSeconds(10));
VerifyUtils.tryReceiveOnce(simpleConsumer.getSimpleConsumer());
producer = ProducerFactory.getRMQProducer(account, topic);
Assertions.assertNotNull(producer, "Get Producer failed");
- for (int i = 0; i < SEND_NUM; i++) {
+
+ for (int i = 0; i < 30; i++) {
Message message = MessageFactory.buildMessage(topic, tag,
String.valueOf(i));
- producer.sendAsync(message);
+ producer.send(message);
}
- // Specifies the timeout of 10 s, if in this time period, conditions
are still not satisfied, will throw ConditionTimeoutException
- await().atMost(10, SECONDS).until(new Callable<Boolean>() {
- @Override
- public Boolean call() {
- return SEND_NUM == producer.getEnqueueMessages().getDataSize();
- }
- });
- VerifyUtils.verifyNormalMessage(producer.getEnqueueMessages(),
pushConsumer.getListener().getDequeueMessages());
+ Assertions.assertEquals(30,
producer.getEnqueueMessages().getDataSize(), "send message failed");
+
+ TestUtils.waitForSeconds(10);
+ resetOffsetByTimestamp(groupId, topic, System.currentTimeMillis());
+
+ pushConsumer = ConsumerFactory.getRMQPushConsumer(account, topic,
groupId, new FilterExpression(tag), new RMQNormalListener());
+
VerifyUtils.waitForConsumeFailed(pushConsumer.getListener().getDequeueMessages(),
30);
+
+ pushConsumer.close();
+ producer.close();
}
}
diff --git
a/src/test/java/org/apache/rocketmq/broker/server/DelayMessageTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/server/DelayMessageTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/server/DelayMessageTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/server/DelayMessageTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/server/NormalMessageTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/server/NormalMessageTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/server/NormalMessageTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/server/NormalMessageTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/server/OrderMessageTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/server/OrderMessageTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/server/OrderMessageTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/server/OrderMessageTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/server/TransactionMessageTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/server/TransactionMessageTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/server/TransactionMessageTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/server/TransactionMessageTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/server/abnormal/DynamicChangeConsumeGroupTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/server/abnormal/DynamicChangeConsumeGroupTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/server/abnormal/DynamicChangeConsumeGroupTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/server/abnormal/DynamicChangeConsumeGroupTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/server/abnormal/PushConsumerRetryTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/server/abnormal/PushConsumerRetryTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/server/abnormal/PushConsumerRetryTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/server/abnormal/PushConsumerRetryTest.java
diff --git a/src/test/java/org/apache/rocketmq/broker/simple/SimpleAckTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/simple/SimpleAckTest.java
similarity index 100%
rename from src/test/java/org/apache/rocketmq/broker/simple/SimpleAckTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/simple/SimpleAckTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/simple/SimpleOrderParamTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/simple/SimpleOrderParamTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/simple/SimpleOrderParamTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/simple/SimpleOrderParamTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/simple/SimpleOrderTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/simple/SimpleOrderTest.java
similarity index 100%
rename from src/test/java/org/apache/rocketmq/broker/simple/SimpleOrderTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/simple/SimpleOrderTest.java
diff --git
a/src/test/java/org/apache/rocketmq/broker/simple/SimpleParamTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/simple/SimpleParamTest.java
similarity index 99%
rename from src/test/java/org/apache/rocketmq/broker/simple/SimpleParamTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/simple/SimpleParamTest.java
index 8ce106b..ed96976 100644
--- a/src/test/java/org/apache/rocketmq/broker/simple/SimpleParamTest.java
+++
b/java/e2e/src/test/java/org/apache/rocketmq/broker/simple/SimpleParamTest.java
@@ -290,7 +290,7 @@ public class SimpleParamTest extends BaseOperate {
}
@Test
- @DisplayName("Twenty ordinary messages are sent synchronously, and
receive(50) messages are received in batch. All the pulled messages are ack()
messages except the first one. It is expected that the ack messages will not be
consumed repeatedly and subsequent consumption will not be affected")
+ @DisplayName("Twenty ordinary messages are sent synchronously, and
receive(50) messages are received in batch. All the pulled messages are ack()
messages except the first one. expected the ack messages will not be consumed
repeatedly and subsequent consumption will not be affected")
public void testNormal_simple_receive_multi_nack() {
String methodName =
Thread.currentThread().getStackTrace()[1].getMethodName();
String topic = getTopic(TopicMessageType.NORMAL.getValue(),
methodName);
diff --git
a/src/test/java/org/apache/rocketmq/broker/simple/SimpleTopicTypeTest.java
b/java/e2e/src/test/java/org/apache/rocketmq/broker/simple/SimpleTopicTypeTest.java
similarity index 100%
rename from
src/test/java/org/apache/rocketmq/broker/simple/SimpleTopicTypeTest.java
rename to
java/e2e/src/test/java/org/apache/rocketmq/broker/simple/SimpleTopicTypeTest.java
diff --git a/java/e2e/src/test/resources/env/daily/daily.conf
b/java/e2e/src/test/resources/env/daily/daily.conf
new file mode 100644
index 0000000..413c52e
--- /dev/null
+++ b/java/e2e/src/test/resources/env/daily/daily.conf
@@ -0,0 +1,6 @@
+aclEnable = false
+
+namesrvAddr = 11.165.235.102:9876
+endPoint = 11.165.235.102:8081
+# cluster
+cluster = DefaultCluster
\ No newline at end of file
diff --git a/src/test/resources/junit-platform.properties
b/java/e2e/src/test/resources/junit-platform.properties
similarity index 100%
rename from src/test/resources/junit-platform.properties
rename to java/e2e/src/test/resources/junit-platform.properties
diff --git a/src/test/resources/log4j.properties
b/java/e2e/src/test/resources/log4j.properties
similarity index 100%
rename from src/test/resources/log4j.properties
rename to java/e2e/src/test/resources/log4j.properties
diff --git a/src/test/resources/logback-test.xml
b/java/e2e/src/test/resources/logback-test.xml
similarity index 100%
rename from src/test/resources/logback-test.xml
rename to java/e2e/src/test/resources/logback-test.xml
diff --git a/java/pom.xml b/java/pom.xml
new file mode 100644
index 0000000..9f48a5c
--- /dev/null
+++ b/java/pom.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.rocketmq</groupId>
+ <artifactId>rocketmq-java-test</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <modules>
+ <module>e2e</module>
+ </modules>
+
+ <properties>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/style/copyright/Apache.xml b/java/style/copyright/Apache.xml
similarity index 100%
rename from style/copyright/Apache.xml
rename to java/style/copyright/Apache.xml
diff --git a/style/copyright/profiles_settings.xml
b/java/style/copyright/profiles_settings.xml
similarity index 100%
rename from style/copyright/profiles_settings.xml
rename to java/style/copyright/profiles_settings.xml
diff --git a/style/rmq_checkstyle.xml b/java/style/rmq_checkstyle.xml
similarity index 100%
rename from style/rmq_checkstyle.xml
rename to java/style/rmq_checkstyle.xml
diff --git a/style/rmq_codeStyle.xml b/java/style/rmq_codeStyle.xml
similarity index 100%
rename from style/rmq_codeStyle.xml
rename to java/style/rmq_codeStyle.xml
diff --git a/src/test/resources/env/daily/daily.conf
b/src/test/resources/env/daily/daily.conf
deleted file mode 100644
index 3c2e30e..0000000
--- a/src/test/resources/env/daily/daily.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-aclEnable = false
-
-namesrvAddr = 127.0.0.1:9876
-endPoint = 127.0.0.1:8081
-# cluster
-cluster = DefaultCluster
\ No newline at end of file