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 <[email protected]> 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 - } }
