You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2021/05/09 09:39:30 UTC
[iotdb] 01/01: add TServerEventHandlerAdaptor to reduce duplicate
codes
This is an automated email from the ASF dual-hosted git repository.
hxd pushed a commit to branch refactor_thrift_baseclass
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit a8b352ac6a3ba4fb2c7e0c9e9e34f5baaf0d8da4
Author: xiangdong huang <sa...@gmail.com>
AuthorDate: Sun May 9 14:43:41 2021 +0800
add TServerEventHandlerAdaptor to reduce duplicate codes
---
.../iotdb/db/service/RPCServiceThriftHandler.java | 19 ++-----------------
.../thrift/TServerEventHandlerAdaptor.java} | 19 +++++++++----------
.../db/sync/receiver/SyncServerThriftHandler.java | 19 ++-----------------
3 files changed, 13 insertions(+), 44 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/service/RPCServiceThriftHandler.java b/server/src/main/java/org/apache/iotdb/db/service/RPCServiceThriftHandler.java
index b0f51bd..fffb6db 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/RPCServiceThriftHandler.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/RPCServiceThriftHandler.java
@@ -16,12 +16,13 @@
*/
package org.apache.iotdb.db.service;
+import org.apache.iotdb.db.service.thrift.TServerEventHandlerAdaptor;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.server.ServerContext;
import org.apache.thrift.server.TServerEventHandler;
import org.apache.thrift.transport.TTransport;
-public class RPCServiceThriftHandler implements TServerEventHandler {
+public class RPCServiceThriftHandler extends TServerEventHandlerAdaptor {
private TSServiceImpl serviceImpl;
RPCServiceThriftHandler(TSServiceImpl serviceImpl) {
@@ -29,24 +30,8 @@ public class RPCServiceThriftHandler implements TServerEventHandler {
}
@Override
- public ServerContext createContext(TProtocol arg0, TProtocol arg1) {
- // nothing
- return null;
- }
-
- @Override
public void deleteContext(ServerContext arg0, TProtocol arg1, TProtocol arg2) {
// release query resources.
serviceImpl.handleClientExit();
}
-
- @Override
- public void preServe() {
- // nothing
- }
-
- @Override
- public void processContext(ServerContext arg0, TTransport arg1, TTransport arg2) {
- // nothing
- }
}
diff --git a/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/TServerEventHandlerAdaptor.java
similarity index 77%
copy from server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java
copy to server/src/main/java/org/apache/iotdb/db/service/thrift/TServerEventHandlerAdaptor.java
index 3460182..2b6c1fb 100644
--- a/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/TServerEventHandlerAdaptor.java
@@ -16,21 +16,21 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.sync.receiver;
-import org.apache.iotdb.db.sync.receiver.transfer.SyncServiceImpl;
+package org.apache.iotdb.db.service.thrift;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.server.ServerContext;
import org.apache.thrift.server.TServerEventHandler;
import org.apache.thrift.transport.TTransport;
-public class SyncServerThriftHandler implements TServerEventHandler {
- private SyncServiceImpl serviceImpl;
-
- SyncServerThriftHandler(SyncServiceImpl serviceImpl) {
- this.serviceImpl = serviceImpl;
- }
+/**
+ * This class is an adaptor of TServerEventHandler.
+ * If you want to do some prepare work when a client connects to, then rewrite createContext().
+ * If you need to do some cleanup work after a client disconnects, then rewrite deleteContext().
+ *
+ */
+public class TServerEventHandlerAdaptor implements TServerEventHandler {
@Override
public ServerContext createContext(TProtocol arg0, TProtocol arg1) {
@@ -40,8 +40,7 @@ public class SyncServerThriftHandler implements TServerEventHandler {
@Override
public void deleteContext(ServerContext arg0, TProtocol arg1, TProtocol arg2) {
- // release query resources.
- serviceImpl.handleClientExit();
+ // release query resources or others
}
@Override
diff --git a/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java b/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java
index 3460182..31a00af 100644
--- a/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java
+++ b/server/src/main/java/org/apache/iotdb/db/sync/receiver/SyncServerThriftHandler.java
@@ -18,6 +18,7 @@
*/
package org.apache.iotdb.db.sync.receiver;
+import org.apache.iotdb.db.service.thrift.TServerEventHandlerAdaptor;
import org.apache.iotdb.db.sync.receiver.transfer.SyncServiceImpl;
import org.apache.thrift.protocol.TProtocol;
@@ -25,7 +26,7 @@ import org.apache.thrift.server.ServerContext;
import org.apache.thrift.server.TServerEventHandler;
import org.apache.thrift.transport.TTransport;
-public class SyncServerThriftHandler implements TServerEventHandler {
+public class SyncServerThriftHandler extends TServerEventHandlerAdaptor {
private SyncServiceImpl serviceImpl;
SyncServerThriftHandler(SyncServiceImpl serviceImpl) {
@@ -33,24 +34,8 @@ public class SyncServerThriftHandler implements TServerEventHandler {
}
@Override
- public ServerContext createContext(TProtocol arg0, TProtocol arg1) {
- // nothing
- return null;
- }
-
- @Override
public void deleteContext(ServerContext arg0, TProtocol arg1, TProtocol arg2) {
// release query resources.
serviceImpl.handleClientExit();
}
-
- @Override
- public void preServe() {
- // nothing
- }
-
- @Override
- public void processContext(ServerContext arg0, TTransport arg1, TTransport arg2) {
- // nothing
- }
}