You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by yu...@apache.org on 2019/06/28 11:20:13 UTC

[rocketmq-remoting] 38/39: Move remoting to independent project

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

yukon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-remoting.git

commit 6a8f394d9738b3000336d6e9dff69d4149da6a74
Author: yukon <yu...@apache.org>
AuthorDate: Thu Jun 13 16:02:46 2019 +0800

    Move remoting to independent project
---
 README.md                                                           | 4 ++--
 {remoting-core/remoting-api => api}/pom.xml                         | 2 +-
 .../main/java/org/apache/rocketmq/remoting/api/AsyncHandler.java    | 0
 .../java/org/apache/rocketmq/remoting/api/ConnectionService.java    | 0
 .../main/java/org/apache/rocketmq/remoting/api/ObjectLifecycle.java | 0
 .../main/java/org/apache/rocketmq/remoting/api/RemotingClient.java  | 0
 .../java/org/apache/rocketmq/remoting/api/RemotingEndPoint.java     | 0
 .../main/java/org/apache/rocketmq/remoting/api/RemotingServer.java  | 0
 .../main/java/org/apache/rocketmq/remoting/api/RemotingService.java | 0
 .../java/org/apache/rocketmq/remoting/api/RequestProcessor.java     | 0
 .../org/apache/rocketmq/remoting/api/buffer/RemotingBuffer.java     | 0
 .../apache/rocketmq/remoting/api/channel/ChannelEventListener.java  | 0
 .../java/org/apache/rocketmq/remoting/api/channel/ChunkRegion.java  | 0
 .../org/apache/rocketmq/remoting/api/channel/RemotingChannel.java   | 0
 .../org/apache/rocketmq/remoting/api/command/RemotingCommand.java   | 0
 .../rocketmq/remoting/api/command/RemotingCommandFactory.java       | 0
 .../java/org/apache/rocketmq/remoting/api/command/TrafficType.java  | 0
 .../rocketmq/remoting/api/exception/RemotingAccessException.java    | 0
 .../rocketmq/remoting/api/exception/RemotingCodecException.java     | 0
 .../remoting/api/exception/RemotingConnectFailureException.java     | 0
 .../rocketmq/remoting/api/exception/RemotingRuntimeException.java   | 0
 .../rocketmq/remoting/api/exception/RemotingTimeoutException.java   | 0
 .../remoting/api/exception/SemaphoreExhaustedException.java         | 0
 .../org/apache/rocketmq/remoting/api/interceptor/Interceptor.java   | 0
 .../apache/rocketmq/remoting/api/interceptor/InterceptorGroup.java  | 0
 .../apache/rocketmq/remoting/api/interceptor/RequestContext.java    | 0
 .../apache/rocketmq/remoting/api/interceptor/ResponseContext.java   | 0
 .../src/main/java/org/apache/rocketmq/remoting/common/Pair.java     | 0
 {benchmarks/remoting-benchmark => benchmark}/pom.xml                | 2 +-
 .../org/apache/rocketmq/benchmarks/remoting/AbstractBenchmark.java  | 0
 {remoting-core/remoting-impl => impl}/pom.xml                       | 2 +-
 .../java/org/apache/rocketmq/remoting/RemotingBootstrapFactory.java | 0
 .../apache/rocketmq/remoting/common/ChannelEventListenerGroup.java  | 0
 .../java/org/apache/rocketmq/remoting/common/ResponseFuture.java    | 0
 .../apache/rocketmq/remoting/common/SemaphoreReleaseOnlyOnce.java   | 0
 .../org/apache/rocketmq/remoting/config/RemotingClientConfig.java   | 0
 .../java/org/apache/rocketmq/remoting/config/RemotingConfig.java    | 0
 .../org/apache/rocketmq/remoting/config/RemotingServerConfig.java   | 0
 .../java/org/apache/rocketmq/remoting/config/TcpSocketConfig.java   | 0
 .../java/org/apache/rocketmq/remoting/external/ThreadUtils.java     | 0
 .../apache/rocketmq/remoting/impl/buffer/NettyRemotingBuffer.java   | 0
 .../org/apache/rocketmq/remoting/impl/channel/NettyChannelImpl.java | 0
 .../java/org/apache/rocketmq/remoting/impl/command/CodecHelper.java | 0
 .../rocketmq/remoting/impl/command/RemotingCommandFactoryImpl.java  | 0
 .../apache/rocketmq/remoting/impl/command/RemotingCommandImpl.java  | 0
 .../rocketmq/remoting/impl/command/RemotingSysResponseCode.java     | 0
 .../apache/rocketmq/remoting/impl/command/RequestIdGenerator.java   | 0
 .../apache/rocketmq/remoting/impl/netty/ClientChannelManager.java   | 0
 .../org/apache/rocketmq/remoting/impl/netty/NettyChannelEvent.java  | 0
 .../apache/rocketmq/remoting/impl/netty/NettyChannelEventType.java  | 0
 .../apache/rocketmq/remoting/impl/netty/NettyRemotingAbstract.java  | 0
 .../apache/rocketmq/remoting/impl/netty/NettyRemotingClient.java    | 0
 .../apache/rocketmq/remoting/impl/netty/NettyRemotingServer.java    | 0
 .../org/apache/rocketmq/remoting/impl/netty/handler/Decoder.java    | 0
 .../org/apache/rocketmq/remoting/impl/netty/handler/Encoder.java    | 0
 .../rocketmq/remoting/impl/netty/handler/ExceptionHandler.java      | 0
 .../main/java/org/apache/rocketmq/remoting/internal/BeanUtils.java  | 0
 .../main/java/org/apache/rocketmq/remoting/internal/ByteUtils.java  | 0
 .../java/org/apache/rocketmq/remoting/internal/ExceptionUtils.java  | 0
 .../main/java/org/apache/rocketmq/remoting/internal/JvmUtils.java   | 0
 .../java/org/apache/rocketmq/remoting/internal/NetworkUtils.java    | 0
 .../java/org/apache/rocketmq/remoting/internal/PropertyUtils.java   | 0
 .../java/org/apache/rocketmq/remoting/internal/RemotingUtil.java    | 0
 .../java/org/apache/rocketmq/remoting/internal/UIDGenerator.java    | 0
 .../src/main/java/org/apache/rocketmq/remoting/package-info.java    | 0
 .../src/test/java/org/apache/rocketmq/remoting/BaseTest.java        | 0
 .../org/apache/rocketmq/remoting/common/ResponseFutureTest.java     | 0
 .../rocketmq/remoting/common/SemaphoreReleaseOnlyOnceTest.java      | 0
 .../org/apache/rocketmq/remoting/impl/command/CodecHelperTest.java  | 0
 .../remoting/impl/command/RemotingCommandFactoryImplTest.java       | 0
 .../rocketmq/remoting/impl/command/RequestIdGeneratorTest.java      | 0
 .../rocketmq/remoting/impl/netty/ClientChannelManagerTest.java      | 0
 .../rocketmq/remoting/impl/netty/EpollRemotingConnectionTest.java   | 0
 .../rocketmq/remoting/impl/netty/NettyRemotingAbstractTest.java     | 0
 .../rocketmq/remoting/impl/netty/NettyRemotingClientTest.java       | 0
 .../rocketmq/remoting/impl/netty/NettyRemotingConnectionTest.java   | 0
 .../apache/rocketmq/remoting/impl/netty/handler/DecoderTest.java    | 0
 .../apache/rocketmq/remoting/impl/netty/handler/EncoderTest.java    | 0
 .../rocketmq/remoting/impl/netty/handler/ExceptionHandlerTest.java  | 0
 pom.xml                                                             | 6 +++---
 80 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/README.md b/README.md
index 6d4c603..ce38c79 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,3 @@
-## Apache RocketMQ X
+## Remoting
 
-Apache RocketMQ X is the next generation of RocketMQ, which is extremely simple and high available.
\ No newline at end of file
+Remoting provides a single API for most network related service that uses pluggable transports and codecs. The Angelia API provides the ability for making synchronous, asynchronous, oneway remote calls, push and pull callbacks. The intention is to allow for the use of different transports to fit different needs, yet still maintain the same API for making the remote invocations and only requiring configuration changes, not code changes.
\ No newline at end of file
diff --git a/remoting-core/remoting-api/pom.xml b/api/pom.xml
similarity index 94%
rename from remoting-core/remoting-api/pom.xml
rename to api/pom.xml
index 19e7abb..e8ae1c8 100644
--- a/remoting-core/remoting-api/pom.xml
+++ b/api/pom.xml
@@ -6,7 +6,7 @@
         <artifactId>rocketmq-x</artifactId>
         <groupId>org.apache.rocketmq</groupId>
         <version>0.1.0-SNAPSHOT</version>
-        <relativePath>../../pom.xml</relativePath>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/AsyncHandler.java b/api/src/main/java/org/apache/rocketmq/remoting/api/AsyncHandler.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/AsyncHandler.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/AsyncHandler.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/ConnectionService.java b/api/src/main/java/org/apache/rocketmq/remoting/api/ConnectionService.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/ConnectionService.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/ConnectionService.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/ObjectLifecycle.java b/api/src/main/java/org/apache/rocketmq/remoting/api/ObjectLifecycle.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/ObjectLifecycle.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/ObjectLifecycle.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/RemotingClient.java b/api/src/main/java/org/apache/rocketmq/remoting/api/RemotingClient.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/RemotingClient.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/RemotingClient.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/RemotingEndPoint.java b/api/src/main/java/org/apache/rocketmq/remoting/api/RemotingEndPoint.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/RemotingEndPoint.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/RemotingEndPoint.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/RemotingServer.java b/api/src/main/java/org/apache/rocketmq/remoting/api/RemotingServer.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/RemotingServer.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/RemotingServer.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/RemotingService.java b/api/src/main/java/org/apache/rocketmq/remoting/api/RemotingService.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/RemotingService.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/RemotingService.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/RequestProcessor.java b/api/src/main/java/org/apache/rocketmq/remoting/api/RequestProcessor.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/RequestProcessor.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/RequestProcessor.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/buffer/RemotingBuffer.java b/api/src/main/java/org/apache/rocketmq/remoting/api/buffer/RemotingBuffer.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/buffer/RemotingBuffer.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/buffer/RemotingBuffer.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/channel/ChannelEventListener.java b/api/src/main/java/org/apache/rocketmq/remoting/api/channel/ChannelEventListener.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/channel/ChannelEventListener.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/channel/ChannelEventListener.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/channel/ChunkRegion.java b/api/src/main/java/org/apache/rocketmq/remoting/api/channel/ChunkRegion.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/channel/ChunkRegion.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/channel/ChunkRegion.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/channel/RemotingChannel.java b/api/src/main/java/org/apache/rocketmq/remoting/api/channel/RemotingChannel.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/channel/RemotingChannel.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/channel/RemotingChannel.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/command/RemotingCommand.java b/api/src/main/java/org/apache/rocketmq/remoting/api/command/RemotingCommand.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/command/RemotingCommand.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/command/RemotingCommand.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/command/RemotingCommandFactory.java b/api/src/main/java/org/apache/rocketmq/remoting/api/command/RemotingCommandFactory.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/command/RemotingCommandFactory.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/command/RemotingCommandFactory.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/command/TrafficType.java b/api/src/main/java/org/apache/rocketmq/remoting/api/command/TrafficType.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/command/TrafficType.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/command/TrafficType.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingAccessException.java b/api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingAccessException.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingAccessException.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingAccessException.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingCodecException.java b/api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingCodecException.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingCodecException.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingCodecException.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingConnectFailureException.java b/api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingConnectFailureException.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingConnectFailureException.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingConnectFailureException.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingRuntimeException.java b/api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingRuntimeException.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingRuntimeException.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingRuntimeException.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingTimeoutException.java b/api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingTimeoutException.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingTimeoutException.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/exception/RemotingTimeoutException.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/exception/SemaphoreExhaustedException.java b/api/src/main/java/org/apache/rocketmq/remoting/api/exception/SemaphoreExhaustedException.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/exception/SemaphoreExhaustedException.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/exception/SemaphoreExhaustedException.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/Interceptor.java b/api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/Interceptor.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/Interceptor.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/Interceptor.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/InterceptorGroup.java b/api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/InterceptorGroup.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/InterceptorGroup.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/InterceptorGroup.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/RequestContext.java b/api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/RequestContext.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/RequestContext.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/RequestContext.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/ResponseContext.java b/api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/ResponseContext.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/ResponseContext.java
rename to api/src/main/java/org/apache/rocketmq/remoting/api/interceptor/ResponseContext.java
diff --git a/remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/common/Pair.java b/api/src/main/java/org/apache/rocketmq/remoting/common/Pair.java
similarity index 100%
rename from remoting-core/remoting-api/src/main/java/org/apache/rocketmq/remoting/common/Pair.java
rename to api/src/main/java/org/apache/rocketmq/remoting/common/Pair.java
diff --git a/benchmarks/remoting-benchmark/pom.xml b/benchmark/pom.xml
similarity index 91%
rename from benchmarks/remoting-benchmark/pom.xml
rename to benchmark/pom.xml
index baf3973..7cdf727 100644
--- a/benchmarks/remoting-benchmark/pom.xml
+++ b/benchmark/pom.xml
@@ -6,7 +6,7 @@
         <artifactId>rocketmq-x</artifactId>
         <groupId>org.apache.rocketmq</groupId>
         <version>0.1.0-SNAPSHOT</version>
-        <relativePath>../../pom.xml</relativePath>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/benchmarks/remoting-benchmark/src/main/java/org/apache/rocketmq/benchmarks/remoting/AbstractBenchmark.java b/benchmark/src/main/java/org/apache/rocketmq/benchmarks/remoting/AbstractBenchmark.java
similarity index 100%
rename from benchmarks/remoting-benchmark/src/main/java/org/apache/rocketmq/benchmarks/remoting/AbstractBenchmark.java
rename to benchmark/src/main/java/org/apache/rocketmq/benchmarks/remoting/AbstractBenchmark.java
diff --git a/remoting-core/remoting-impl/pom.xml b/impl/pom.xml
similarity index 95%
rename from remoting-core/remoting-impl/pom.xml
rename to impl/pom.xml
index 83915fd..bf66aaa 100644
--- a/remoting-core/remoting-impl/pom.xml
+++ b/impl/pom.xml
@@ -6,7 +6,7 @@
         <artifactId>rocketmq-x</artifactId>
         <groupId>org.apache.rocketmq</groupId>
         <version>0.1.0-SNAPSHOT</version>
-        <relativePath>../../pom.xml</relativePath>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/RemotingBootstrapFactory.java b/impl/src/main/java/org/apache/rocketmq/remoting/RemotingBootstrapFactory.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/RemotingBootstrapFactory.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/RemotingBootstrapFactory.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/common/ChannelEventListenerGroup.java b/impl/src/main/java/org/apache/rocketmq/remoting/common/ChannelEventListenerGroup.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/common/ChannelEventListenerGroup.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/common/ChannelEventListenerGroup.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/common/ResponseFuture.java b/impl/src/main/java/org/apache/rocketmq/remoting/common/ResponseFuture.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/common/ResponseFuture.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/common/ResponseFuture.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/common/SemaphoreReleaseOnlyOnce.java b/impl/src/main/java/org/apache/rocketmq/remoting/common/SemaphoreReleaseOnlyOnce.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/common/SemaphoreReleaseOnlyOnce.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/common/SemaphoreReleaseOnlyOnce.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/config/RemotingClientConfig.java b/impl/src/main/java/org/apache/rocketmq/remoting/config/RemotingClientConfig.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/config/RemotingClientConfig.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/config/RemotingClientConfig.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/config/RemotingConfig.java b/impl/src/main/java/org/apache/rocketmq/remoting/config/RemotingConfig.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/config/RemotingConfig.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/config/RemotingConfig.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/config/RemotingServerConfig.java b/impl/src/main/java/org/apache/rocketmq/remoting/config/RemotingServerConfig.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/config/RemotingServerConfig.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/config/RemotingServerConfig.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/config/TcpSocketConfig.java b/impl/src/main/java/org/apache/rocketmq/remoting/config/TcpSocketConfig.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/config/TcpSocketConfig.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/config/TcpSocketConfig.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/external/ThreadUtils.java b/impl/src/main/java/org/apache/rocketmq/remoting/external/ThreadUtils.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/external/ThreadUtils.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/external/ThreadUtils.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/buffer/NettyRemotingBuffer.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/buffer/NettyRemotingBuffer.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/buffer/NettyRemotingBuffer.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/buffer/NettyRemotingBuffer.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/channel/NettyChannelImpl.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/channel/NettyChannelImpl.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/channel/NettyChannelImpl.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/channel/NettyChannelImpl.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/command/CodecHelper.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/command/CodecHelper.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/command/CodecHelper.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/command/CodecHelper.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RemotingCommandFactoryImpl.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RemotingCommandFactoryImpl.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RemotingCommandFactoryImpl.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RemotingCommandFactoryImpl.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RemotingCommandImpl.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RemotingCommandImpl.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RemotingCommandImpl.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RemotingCommandImpl.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RemotingSysResponseCode.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RemotingSysResponseCode.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RemotingSysResponseCode.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RemotingSysResponseCode.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RequestIdGenerator.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RequestIdGenerator.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RequestIdGenerator.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/command/RequestIdGenerator.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/ClientChannelManager.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/ClientChannelManager.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/ClientChannelManager.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/ClientChannelManager.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyChannelEvent.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyChannelEvent.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyChannelEvent.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyChannelEvent.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyChannelEventType.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyChannelEventType.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyChannelEventType.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyChannelEventType.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingAbstract.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingAbstract.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingAbstract.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingAbstract.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingClient.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingClient.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingClient.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingClient.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingServer.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingServer.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingServer.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingServer.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/handler/Decoder.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/handler/Decoder.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/handler/Decoder.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/handler/Decoder.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/handler/Encoder.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/handler/Encoder.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/handler/Encoder.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/handler/Encoder.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/handler/ExceptionHandler.java b/impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/handler/ExceptionHandler.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/handler/ExceptionHandler.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/impl/netty/handler/ExceptionHandler.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/BeanUtils.java b/impl/src/main/java/org/apache/rocketmq/remoting/internal/BeanUtils.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/BeanUtils.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/internal/BeanUtils.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/ByteUtils.java b/impl/src/main/java/org/apache/rocketmq/remoting/internal/ByteUtils.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/ByteUtils.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/internal/ByteUtils.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/ExceptionUtils.java b/impl/src/main/java/org/apache/rocketmq/remoting/internal/ExceptionUtils.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/ExceptionUtils.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/internal/ExceptionUtils.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/JvmUtils.java b/impl/src/main/java/org/apache/rocketmq/remoting/internal/JvmUtils.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/JvmUtils.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/internal/JvmUtils.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/NetworkUtils.java b/impl/src/main/java/org/apache/rocketmq/remoting/internal/NetworkUtils.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/NetworkUtils.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/internal/NetworkUtils.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/PropertyUtils.java b/impl/src/main/java/org/apache/rocketmq/remoting/internal/PropertyUtils.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/PropertyUtils.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/internal/PropertyUtils.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/RemotingUtil.java b/impl/src/main/java/org/apache/rocketmq/remoting/internal/RemotingUtil.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/RemotingUtil.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/internal/RemotingUtil.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/UIDGenerator.java b/impl/src/main/java/org/apache/rocketmq/remoting/internal/UIDGenerator.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/internal/UIDGenerator.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/internal/UIDGenerator.java
diff --git a/remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/package-info.java b/impl/src/main/java/org/apache/rocketmq/remoting/package-info.java
similarity index 100%
rename from remoting-core/remoting-impl/src/main/java/org/apache/rocketmq/remoting/package-info.java
rename to impl/src/main/java/org/apache/rocketmq/remoting/package-info.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/BaseTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/BaseTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/BaseTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/BaseTest.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/common/ResponseFutureTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/common/ResponseFutureTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/common/ResponseFutureTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/common/ResponseFutureTest.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/common/SemaphoreReleaseOnlyOnceTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/common/SemaphoreReleaseOnlyOnceTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/common/SemaphoreReleaseOnlyOnceTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/common/SemaphoreReleaseOnlyOnceTest.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/command/CodecHelperTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/impl/command/CodecHelperTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/command/CodecHelperTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/impl/command/CodecHelperTest.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/command/RemotingCommandFactoryImplTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/impl/command/RemotingCommandFactoryImplTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/command/RemotingCommandFactoryImplTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/impl/command/RemotingCommandFactoryImplTest.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/command/RequestIdGeneratorTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/impl/command/RequestIdGeneratorTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/command/RequestIdGeneratorTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/impl/command/RequestIdGeneratorTest.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/ClientChannelManagerTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/ClientChannelManagerTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/ClientChannelManagerTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/ClientChannelManagerTest.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/EpollRemotingConnectionTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/EpollRemotingConnectionTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/EpollRemotingConnectionTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/EpollRemotingConnectionTest.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingAbstractTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingAbstractTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingAbstractTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingAbstractTest.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingClientTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingClientTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingClientTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingClientTest.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingConnectionTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingConnectionTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingConnectionTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/NettyRemotingConnectionTest.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/handler/DecoderTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/handler/DecoderTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/handler/DecoderTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/handler/DecoderTest.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/handler/EncoderTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/handler/EncoderTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/handler/EncoderTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/handler/EncoderTest.java
diff --git a/remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/handler/ExceptionHandlerTest.java b/impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/handler/ExceptionHandlerTest.java
similarity index 100%
rename from remoting-core/remoting-impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/handler/ExceptionHandlerTest.java
rename to impl/src/test/java/org/apache/rocketmq/remoting/impl/netty/handler/ExceptionHandlerTest.java
diff --git a/pom.xml b/pom.xml
index 6682c35..c21846a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,9 +33,9 @@
     </properties>
 
     <modules>
-        <module>remoting-core/remoting-api</module>
-        <module>remoting-core/remoting-impl</module>
-        <module>benchmarks/remoting-benchmark</module>
+        <module>api</module>
+        <module>impl</module>
+        <module>benchmark</module>
     </modules>
 
     <dependencies>