You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shenyu.apache.org by zh...@apache.org on 2021/09/24 06:19:20 UTC

[incubator-shenyu] branch master updated: [type: refactor] refactor package (#2122)

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

zhangyonglun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new da363ab  [type: refactor] refactor package (#2122)
da363ab is described below

commit da363ab529de872f579baf20a7201aa873eda569
Author: xiaoyu <xi...@apache.org>
AuthorDate: Fri Sep 24 14:19:10 2021 +0800

    [type: refactor] refactor package (#2122)
    
    * [type: refactor] refactor package
    
    * [type: refactor] refactor package
    
    * [type: refactor] refactor package
---
 .../listener/zookeeper/HttpServiceDiscovery.java   |   2 +-
 .../admin/service/impl/SelectorServiceImpl.java    |   2 +-
 .../impl/ShenyuClientRegisterServiceImpl.java      |   2 +-
 .../admin/service/impl/UpstreamCheckService.java   |   4 +-
 .../AbstractShenyuClientRegisterServiceImpl.java   |   2 +-
 .../ShenyuClientRegisterDefaultServiceImpl.java    |   2 +-
 ...ShenyuClientRegisterSpringCloudServiceImpl.java |   2 +-
 .../shenyu/admin/utils/DivideUpstreamUtils.java    |   2 +-
 .../admin/service/UpstreamCheckServiceTest.java    |   4 +-
 .../apache/shenyu/common/config/MonitorConfig.java | 189 ---------------------
 .../shenyu/common/config/SpringCloudConfig.java    | 120 -------------
 .../dto/convert/HystrixThreadPoolConfig.java       | 139 ---------------
 .../convert/plugin}/DubboRegisterConfig.java       |   2 +-
 .../convert/plugin}/MotanRegisterConfig.java       |   2 +-
 .../convert/plugin}/SofaRegisterConfig.java        |   2 +-
 .../dto/convert/{ => rule}/HystrixHandle.java      | 110 +++++++++++-
 .../dto/convert/{ => rule}/RateLimiterHandle.java  |   2 +-
 .../dto/convert/{ => rule}/RedirectHandle.java     |   2 +-
 .../dto/convert/{ => rule}/RequestHandle.java      |   3 +-
 .../dto/convert/{ => rule}/Resilience4JHandle.java |   2 +-
 .../dto/convert/{ => rule}/RewriteHandle.java      |   2 +-
 .../dto/convert/{ => rule}/SentinelHandle.java     |   2 +-
 .../common/dto/convert/{ => rule}/WafHandle.java   |   2 +-
 .../dto/convert/{ => selector}/DivideUpstream.java |   2 +-
 .../selector/SpringCloudSelectorHandle.java        |   2 -
 .../convert/{ => selector}/WebSocketUpstream.java  |   2 +-
 .../dto/convert/{ => selector}/ZombieUpstream.java |   2 +-
 .../http/combination/RateLimiterPluginTest.java    |   2 +-
 .../test/http/combination/RedirectPluginTest.java  |   2 +-
 .../test/http/combination/RequestPluginTest.java   |   2 +-
 .../test/http/combination/SentinelPluginTest.java  |   2 +-
 .../test/http/combination/WafPluginTest.java       |   2 +-
 .../dubbo/cache/ApplicationConfigCache.java        |   2 +-
 .../handler/AlibabaDubboPluginDataHandler.java     |   7 +-
 .../dubbo/cache/ApplicationConfigCacheTest.java    |   2 +-
 .../dubbo/handler/AlibabaDubboPluginDataTest.java  |   2 +-
 .../apache/dubbo/cache/ApplicationConfigCache.java |   2 +-
 .../handler/ApacheDubboPluginDataHandler.java      |   2 +-
 .../dubbo/cache/ApplicationConfigCacheTest.java    |   2 +-
 .../handler/ApacheDubboPluginDataHandlerTest.java  |   2 +-
 .../divide/handler/DividePluginDataHandler.java    |   2 +-
 .../shenyu/plugin/divide/DividePluginTest.java     |   2 +-
 .../handler/DividePluginDataHandlerTest.java       |   2 +-
 .../plugin/grpc/cache/ApplicationConfigCache.java  |   2 +-
 .../grpc/handler/GrpcPluginDataHandlerTest.java    |   2 +-
 .../shenyu/plugin/hystrix/HystrixPlugin.java       |   2 +-
 .../plugin/hystrix/builder/HystrixBuilder.java     |   4 +-
 .../hystrix/handler/HystrixPluginDataHandler.java  |   2 +-
 .../shenyu/plugin/hystrix/HystrixPluginTest.java   |   2 +-
 .../plugin/hystrix/builder/HystrixBuilderTest.java |   4 +-
 .../command/HystrixCommandOnThreadTest.java        |   4 +-
 .../plugin/hystrix/command/HystrixCommandTest.java |   2 +-
 .../plugin/motan/cache/ApplicationConfigCache.java |   2 +-
 .../motan/handler/MotanPluginDataHandler.java      |   2 +-
 .../plugin/ratelimiter/RateLimiterPlugin.java      |   2 +-
 .../ratelimiter/executor/RedisRateLimiter.java     |   2 +-
 .../handler/RateLimiterPluginDataHandler.java      |   2 +-
 .../plugin/ratelimiter/RateLimiterPluginTest.java  |   2 +-
 .../ratelimiter/executor/RedisRateLimiterTest.java |   2 +-
 .../shenyu/plugin/redirect/RedirectPlugin.java     |   2 +-
 .../handler/RedirectPluginDataHandler.java         |   2 +-
 .../shenyu/plugin/redirect/RedirectPluginTest.java |   2 +-
 .../shenyu/plugin/request/RequestPlugin.java       |   2 +-
 .../request/handler/RequestPluginHandler.java      |   2 +-
 .../shenyu/plugin/request/RequestPluginTest.java   |   8 +-
 .../plugin/resilience4j/Resilience4JPlugin.java    |   2 +-
 .../resilience4j/build/Resilience4JBuilder.java    |   2 +-
 .../resilience4j/handler/Resilience4JHandler.java  |   2 +-
 .../resilience4j/Resilience4JPluginTest.java       |   2 +-
 .../shenyu/plugin/rewrite/RewritePlugin.java       |   2 +-
 .../rewrite/handler/RewritePluginDataHandler.java  |   2 +-
 .../shenyu/plugin/rewrite/RewritePluginTest.java   |   2 +-
 .../shenyu/plugin/sentinel/SentinelPlugin.java     |   2 +-
 .../sentinel/handler/SentinelRuleHandle.java       |   2 +-
 .../shenyu/plugin/sentinel/SentinelPluginTest.java |   2 +-
 .../sentinel/handler/SentinelRuleHandleTest.java   |   2 +-
 .../plugin/sofa/cache/ApplicationConfigCache.java  |   2 +-
 .../plugin/sofa/handler/SofaPluginDataHandler.java |   2 +-
 .../sofa/handler/SofaPluginDataHandlerTest.java    |   2 +-
 .../handler/SpringCloudPluginDataHandler.java      |   2 +-
 .../plugin/springcloud/SpringCloudPluginTest.java  |   2 +-
 .../plugin/tars/cache/ApplicationConfigCache.java  |   2 +-
 .../org/apache/shenyu/plugin/waf/WafPlugin.java    |   2 +-
 .../plugin/waf/handler/WafPluginDataHandler.java   |   2 +-
 .../apache/shenyu/plugin/waf/WafPluginTest.java    |   2 +-
 .../waf/handler/WafPluginDataHandlerTest.java      |   2 +-
 .../handler/WebSocketPluginDataHandler.java        |   2 +-
 .../plugin/websocket/WebSocketPluginTest.java      |   2 +-
 .../web/controller/PluginControllerTest.java       |   2 +-
 89 files changed, 205 insertions(+), 545 deletions(-)

diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/zookeeper/HttpServiceDiscovery.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/zookeeper/HttpServiceDiscovery.java
index 4b8fb20..18b9182 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/zookeeper/HttpServiceDiscovery.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/zookeeper/HttpServiceDiscovery.java
@@ -26,7 +26,7 @@ import org.apache.shenyu.admin.mapper.SelectorMapper;
 import org.apache.shenyu.admin.service.SelectorService;
 import org.apache.shenyu.admin.model.entity.SelectorDO;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.enums.ConfigGroupEnum;
 import org.apache.shenyu.common.enums.DataEventTypeEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SelectorServiceImpl.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SelectorServiceImpl.java
index 64b8f3f..e2e924b 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SelectorServiceImpl.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SelectorServiceImpl.java
@@ -51,7 +51,7 @@ import org.apache.shenyu.admin.utils.JwtUtils;
 import org.apache.shenyu.common.constant.AdminConstants;
 import org.apache.shenyu.common.dto.ConditionData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.dto.convert.selector.SpringCloudSelectorHandle;
 import org.apache.shenyu.common.enums.ConfigGroupEnum;
 import org.apache.shenyu.common.enums.DataEventTypeEnum;
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ShenyuClientRegisterServiceImpl.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ShenyuClientRegisterServiceImpl.java
index f78965d..ac76429 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ShenyuClientRegisterServiceImpl.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ShenyuClientRegisterServiceImpl.java
@@ -37,7 +37,7 @@ import org.apache.shenyu.admin.service.ShenyuClientRegisterService;
 import org.apache.shenyu.admin.transfer.MetaDataTransfer;
 import org.apache.shenyu.admin.utils.ShenyuResultMessage;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.dto.convert.rule.RuleHandle;
 import org.apache.shenyu.common.dto.convert.rule.RuleHandleFactory;
 import org.apache.shenyu.common.dto.convert.selector.SpringCloudSelectorHandle;
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
index 798a439..7219462 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
@@ -36,8 +36,8 @@ import org.apache.shenyu.common.concurrent.ShenyuThreadFactory;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.ConditionData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
-import org.apache.shenyu.common.dto.convert.ZombieUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.ZombieUpstream;
 import org.apache.shenyu.common.dto.convert.selector.SpringCloudSelectorHandle;
 import org.apache.shenyu.common.enums.ConfigGroupEnum;
 import org.apache.shenyu.common.enums.DataEventTypeEnum;
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/AbstractShenyuClientRegisterServiceImpl.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/AbstractShenyuClientRegisterServiceImpl.java
index eb621c1..7e3bd3a 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/AbstractShenyuClientRegisterServiceImpl.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/AbstractShenyuClientRegisterServiceImpl.java
@@ -23,7 +23,7 @@ import org.apache.shenyu.admin.model.dto.RuleDTO;
 import org.apache.shenyu.admin.model.dto.SelectorConditionDTO;
 import org.apache.shenyu.admin.model.dto.SelectorDTO;
 import org.apache.shenyu.admin.model.entity.MetaDataDO;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.dto.convert.rule.RuleHandle;
 import org.apache.shenyu.common.dto.convert.rule.RuleHandleFactory;
 import org.apache.shenyu.common.enums.MatchModeEnum;
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/ShenyuClientRegisterDefaultServiceImpl.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/ShenyuClientRegisterDefaultServiceImpl.java
index aa43dd5..553d321 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/ShenyuClientRegisterDefaultServiceImpl.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/ShenyuClientRegisterDefaultServiceImpl.java
@@ -25,7 +25,7 @@ import org.apache.shenyu.admin.model.entity.SelectorDO;
 import org.apache.shenyu.admin.service.SelectorService;
 import org.apache.shenyu.admin.utils.ShenyuResultMessage;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.dto.convert.selector.SpringCloudSelectorHandle;
 import org.apache.shenyu.common.enums.ConfigGroupEnum;
 import org.apache.shenyu.common.enums.DataEventTypeEnum;
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/ShenyuClientRegisterSpringCloudServiceImpl.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/ShenyuClientRegisterSpringCloudServiceImpl.java
index 37865e3..d49f542 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/ShenyuClientRegisterSpringCloudServiceImpl.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/ShenyuClientRegisterSpringCloudServiceImpl.java
@@ -33,7 +33,7 @@ import org.apache.shenyu.admin.utils.DivideUpstreamUtils;
 import org.apache.shenyu.admin.utils.ShenyuResultMessage;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.dto.convert.selector.SpringCloudSelectorHandle;
 import org.apache.shenyu.common.enums.ConfigGroupEnum;
 import org.apache.shenyu.common.enums.DataEventTypeEnum;
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/DivideUpstreamUtils.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/DivideUpstreamUtils.java
index 39f822b..cb52c95 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/DivideUpstreamUtils.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/DivideUpstreamUtils.java
@@ -17,7 +17,7 @@
 
 package org.apache.shenyu.admin.utils;
 
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.register.common.dto.MetaDataRegisterDTO;
 
 import java.util.Optional;
diff --git a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/UpstreamCheckServiceTest.java b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/UpstreamCheckServiceTest.java
index eb31b46..12cb134 100644
--- a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/UpstreamCheckServiceTest.java
+++ b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/UpstreamCheckServiceTest.java
@@ -25,8 +25,8 @@ import org.apache.shenyu.admin.mapper.SelectorConditionMapper;
 import org.apache.shenyu.admin.mapper.SelectorMapper;
 import org.apache.shenyu.admin.service.impl.UpstreamCheckService;
 import org.apache.shenyu.common.constant.Constants;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
-import org.apache.shenyu.common.dto.convert.ZombieUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.ZombieUpstream;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.UpstreamCheckUtils;
 import org.apache.shenyu.register.common.config.ShenyuRegisterCenterConfig;
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/config/MonitorConfig.java b/shenyu-common/src/main/java/org/apache/shenyu/common/config/MonitorConfig.java
deleted file mode 100644
index dc33776..0000000
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/config/MonitorConfig.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.common.config;
-
-import java.io.Serializable;
-import java.util.Objects;
-import java.util.Properties;
-
-/**
- * The monitor configuration for influxdb.
- */
-public class MonitorConfig implements Serializable {
-
-    private static final long serialVersionUID = -9186727374865514837L;
-
-    private String metricsName;
-
-    private String host;
-
-    private Integer port;
-
-    private Boolean async;
-
-    private Integer threadCount;
-
-    private Properties props;
-
-    /**
-     * get metricsName.
-     *
-     * @return metricsName
-     */
-    public String getMetricsName() {
-        return metricsName;
-    }
-
-    /**
-     * set metricsName.
-     *
-     * @param metricsName metricsName
-     */
-    public void setMetricsName(final String metricsName) {
-        this.metricsName = metricsName;
-    }
-
-    /**
-     * get host.
-     *
-     * @return host
-     */
-    public String getHost() {
-        return host;
-    }
-
-    /**
-     * set host.
-     *
-     * @param host host
-     */
-    public void setHost(final String host) {
-        this.host = host;
-    }
-
-    /**
-     * get port.
-     *
-     * @return port
-     */
-    public Integer getPort() {
-        return port;
-    }
-
-    /**
-     * set port.
-     *
-     * @param port port
-     */
-    public void setPort(final Integer port) {
-        this.port = port;
-    }
-
-    /**
-     * get async.
-     *
-     * @return async
-     */
-    public Boolean getAsync() {
-        return async;
-    }
-
-    /**
-     * set async.
-     *
-     * @param async async
-     */
-    public void setAsync(final Boolean async) {
-        this.async = async;
-    }
-
-    /**
-     * get threadCount.
-     *
-     * @return threadCount
-     */
-    public Integer getThreadCount() {
-        return threadCount;
-    }
-
-    /**
-     * set threadCount.
-     *
-     * @param threadCount threadCount
-     */
-    public void setThreadCount(final Integer threadCount) {
-        this.threadCount = threadCount;
-    }
-
-    /**
-     * get props.
-     *
-     * @return props
-     */
-    public Properties getProps() {
-        return props;
-    }
-
-    /**
-     * set props.
-     *
-     * @param props props
-     */
-    public void setProps(final Properties props) {
-        this.props = props;
-    }
-
-    @Override
-    public boolean equals(final Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        MonitorConfig that = (MonitorConfig) o;
-        return Objects.equals(metricsName, that.metricsName) && Objects.equals(host, that.host)
-                && Objects.equals(port, that.port) && Objects.equals(async, that.async)
-                && Objects.equals(threadCount, that.threadCount) && Objects.equals(props, that.props);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(metricsName, host, port, async, threadCount, props);
-    }
-
-    @Override
-    public String toString() {
-        return "MonitorConfig{"
-                + "metricsName='"
-                + metricsName
-                + '\''
-                + ", host='"
-                + host
-                + '\''
-                + ", port="
-                + port
-                + ", async="
-                + async
-                + ", threadCount="
-                + threadCount
-                + ", props="
-                + props
-                + '}';
-    }
-}
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/config/SpringCloudConfig.java b/shenyu-common/src/main/java/org/apache/shenyu/common/config/SpringCloudConfig.java
deleted file mode 100644
index 9321a7d..0000000
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/config/SpringCloudConfig.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.common.config;
-
-import java.io.Serializable;
-import java.util.Objects;
-
-/**
- * The springCloud plugin configuration for eureka.
- */
-public class SpringCloudConfig implements Serializable {
-
-    private static final long serialVersionUID = -5750232000945431295L;
-
-    private String serviceUrl;
-
-    private Integer leaseRenewalIntervalInSeconds;
-
-    private Integer leaseExpirationDurationInSeconds;
-
-    /**
-     * get serviceUrl.
-     *
-     * @return serviceUrl
-     */
-    public String getServiceUrl() {
-        return serviceUrl;
-    }
-
-    /**
-     * set serviceUrl.
-     *
-     * @param serviceUrl serviceUrl
-     */
-    public void setServiceUrl(final String serviceUrl) {
-        this.serviceUrl = serviceUrl;
-    }
-
-    /**
-     * get leaseRenewalIntervalInSeconds.
-     *
-     * @return leaseRenewalIntervalInSeconds
-     */
-    public Integer getLeaseRenewalIntervalInSeconds() {
-        return leaseRenewalIntervalInSeconds;
-    }
-
-    /**
-     * set leaseRenewalIntervalInSeconds.
-     *
-     * @param leaseRenewalIntervalInSeconds leaseRenewalIntervalInSeconds
-     */
-    public void setLeaseRenewalIntervalInSeconds(final Integer leaseRenewalIntervalInSeconds) {
-        this.leaseRenewalIntervalInSeconds = leaseRenewalIntervalInSeconds;
-    }
-
-    /**
-     * get leaseExpirationDurationInSeconds.
-     *
-     * @return leaseExpirationDurationInSeconds
-     */
-    public Integer getLeaseExpirationDurationInSeconds() {
-        return leaseExpirationDurationInSeconds;
-    }
-
-    /**
-     * set leaseExpirationDurationInSeconds.
-     *
-     * @param leaseExpirationDurationInSeconds leaseExpirationDurationInSeconds
-     */
-    public void setLeaseExpirationDurationInSeconds(final Integer leaseExpirationDurationInSeconds) {
-        this.leaseExpirationDurationInSeconds = leaseExpirationDurationInSeconds;
-    }
-
-    @Override
-    public boolean equals(final Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        SpringCloudConfig that = (SpringCloudConfig) o;
-        return Objects.equals(serviceUrl, that.serviceUrl) && Objects.equals(leaseRenewalIntervalInSeconds, that.leaseRenewalIntervalInSeconds)
-                && Objects.equals(leaseExpirationDurationInSeconds, that.leaseExpirationDurationInSeconds);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(serviceUrl, leaseRenewalIntervalInSeconds, leaseExpirationDurationInSeconds);
-    }
-
-    @Override
-    public String toString() {
-        return "SpringCloudConfig{"
-                + "serviceUrl='"
-                + serviceUrl
-                + '\''
-                + ", leaseRenewalIntervalInSeconds="
-                + leaseRenewalIntervalInSeconds
-                + ", leaseExpirationDurationInSeconds="
-                + leaseExpirationDurationInSeconds
-                + '}';
-    }
-}
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/HystrixThreadPoolConfig.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/HystrixThreadPoolConfig.java
deleted file mode 100644
index b092f71..0000000
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/HystrixThreadPoolConfig.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.common.dto.convert;
-
-import org.apache.shenyu.common.constant.Constants;
-
-import java.util.Objects;
-
-/**
- * hystrix thread pool config.
- */
-public class HystrixThreadPoolConfig {
-    private int coreSize = Constants.HYSTRIX_THREAD_POOL_CORE_SIZE;
-
-    private int maximumSize = Constants.HYSTRIX_THREAD_POOL_MAX_SIZE;
-
-    private int keepAliveTimeMinutes = Constants.HYSTRIX_THREAD_KEEP_ALIVE_TIME_MINUTE;
-
-    private int maxQueueSize = Constants.HYSTRIX_THREAD_POOL_QUEUE_SIZE;
-
-    /**
-     * get coreSize.
-     *
-     * @return coreSize
-     */
-    public int getCoreSize() {
-        return coreSize;
-    }
-
-    /**
-     * set coreSize.
-     *
-     * @param coreSize coreSize
-     */
-    public void setCoreSize(final int coreSize) {
-        this.coreSize = coreSize;
-    }
-
-    /**
-     * get maximumSize.
-     *
-     * @return maximumSize
-     */
-    public int getMaximumSize() {
-        return maximumSize;
-    }
-
-    /**
-     * set maximumSize.
-     *
-     * @param maximumSize maximumSize
-     */
-    public void setMaximumSize(final int maximumSize) {
-        this.maximumSize = maximumSize;
-    }
-
-    /**
-     * get keepAliveTimeMinutes.
-     *
-     * @return keepAliveTimeMinutes
-     */
-    public int getKeepAliveTimeMinutes() {
-        return keepAliveTimeMinutes;
-    }
-
-    /**
-     * set keepAliveTimeMinutes.
-     *
-     * @param keepAliveTimeMinutes keepAliveTimeMinutes
-     */
-    public void setKeepAliveTimeMinutes(final int keepAliveTimeMinutes) {
-        this.keepAliveTimeMinutes = keepAliveTimeMinutes;
-    }
-
-    /**
-     * get maxQueueSize.
-     *
-     * @return maxQueueSize
-     */
-    public int getMaxQueueSize() {
-        return maxQueueSize;
-    }
-
-    /**
-     * set maxQueueSize.
-     *
-     * @param maxQueueSize maxQueueSize
-     */
-    public void setMaxQueueSize(final int maxQueueSize) {
-        this.maxQueueSize = maxQueueSize;
-    }
-
-    @Override
-    public boolean equals(final Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        HystrixThreadPoolConfig that = (HystrixThreadPoolConfig) o;
-        return coreSize == that.coreSize && maximumSize == that.maximumSize
-                && keepAliveTimeMinutes == that.keepAliveTimeMinutes && maxQueueSize == that.maxQueueSize;
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(coreSize, maximumSize, keepAliveTimeMinutes, maxQueueSize);
-    }
-
-    @Override
-    public String toString() {
-        return "HystrixThreadPoolConfig{"
-                + "coreSize="
-                + coreSize
-                + ", maximumSize="
-                + maximumSize
-                + ", keepAliveTimeMinutes="
-                + keepAliveTimeMinutes
-                + ", maxQueueSize="
-                + maxQueueSize
-                + '}';
-    }
-}
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/config/DubboRegisterConfig.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/plugin/DubboRegisterConfig.java
similarity index 98%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/config/DubboRegisterConfig.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/plugin/DubboRegisterConfig.java
index d0d90e2..28489a2 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/config/DubboRegisterConfig.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/plugin/DubboRegisterConfig.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.config;
+package org.apache.shenyu.common.dto.convert.plugin;
 
 import java.io.Serializable;
 import java.util.Objects;
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/config/MotanRegisterConfig.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/plugin/MotanRegisterConfig.java
similarity index 97%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/config/MotanRegisterConfig.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/plugin/MotanRegisterConfig.java
index f2324fa..12638fc 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/config/MotanRegisterConfig.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/plugin/MotanRegisterConfig.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.config;
+package org.apache.shenyu.common.dto.convert.plugin;
 
 import java.io.Serializable;
 import java.util.Objects;
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/config/SofaRegisterConfig.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/plugin/SofaRegisterConfig.java
similarity index 98%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/config/SofaRegisterConfig.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/plugin/SofaRegisterConfig.java
index e5fe677..9c95e21 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/config/SofaRegisterConfig.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/plugin/SofaRegisterConfig.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.config;
+package org.apache.shenyu.common.dto.convert.plugin;
 
 import java.io.Serializable;
 import java.util.Objects;
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/HystrixHandle.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/HystrixHandle.java
similarity index 73%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/HystrixHandle.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/HystrixHandle.java
index c5581d8..0f03702 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/HystrixHandle.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/HystrixHandle.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.dto.convert;
+package org.apache.shenyu.common.dto.convert.rule;
 
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.enums.HystrixIsolationModeEnum;
@@ -308,4 +308,112 @@ public class HystrixHandle {
                 + hystrixThreadPoolConfig
                 + '}';
     }
+    
+    /**
+     * hystrix thread pool config.
+     */
+    public static class HystrixThreadPoolConfig {
+    
+        private int coreSize = Constants.HYSTRIX_THREAD_POOL_CORE_SIZE;
+    
+        private int maximumSize = Constants.HYSTRIX_THREAD_POOL_MAX_SIZE;
+    
+        private int keepAliveTimeMinutes = Constants.HYSTRIX_THREAD_KEEP_ALIVE_TIME_MINUTE;
+    
+        private int maxQueueSize = Constants.HYSTRIX_THREAD_POOL_QUEUE_SIZE;
+    
+        /**
+         * get coreSize.
+         *
+         * @return coreSize
+         */
+        public int getCoreSize() {
+            return coreSize;
+        }
+    
+        /**
+         * set coreSize.
+         *
+         * @param coreSize coreSize
+         */
+        public void setCoreSize(final int coreSize) {
+            this.coreSize = coreSize;
+        }
+    
+        /**
+         * get maximumSize.
+         *
+         * @return maximumSize
+         */
+        public int getMaximumSize() {
+            return maximumSize;
+        }
+    
+        /**
+         * set maximumSize.
+         *
+         * @param maximumSize maximumSize
+         */
+        public void setMaximumSize(final int maximumSize) {
+            this.maximumSize = maximumSize;
+        }
+    
+        /**
+         * get keepAliveTimeMinutes.
+         *
+         * @return keepAliveTimeMinutes
+         */
+        public int getKeepAliveTimeMinutes() {
+            return keepAliveTimeMinutes;
+        }
+    
+        /**
+         * set keepAliveTimeMinutes.
+         *
+         * @param keepAliveTimeMinutes keepAliveTimeMinutes
+         */
+        public void setKeepAliveTimeMinutes(final int keepAliveTimeMinutes) {
+            this.keepAliveTimeMinutes = keepAliveTimeMinutes;
+        }
+    
+        /**
+         * get maxQueueSize.
+         *
+         * @return maxQueueSize
+         */
+        public int getMaxQueueSize() {
+            return maxQueueSize;
+        }
+    
+        /**
+         * set maxQueueSize.
+         *
+         * @param maxQueueSize maxQueueSize
+         */
+        public void setMaxQueueSize(final int maxQueueSize) {
+            this.maxQueueSize = maxQueueSize;
+        }
+    
+        @Override
+        public boolean equals(final Object o) {
+            if (this == o) {
+                return true;
+            }
+            if (o == null || getClass() != o.getClass()) {
+                return false;
+            }
+            HystrixThreadPoolConfig that = (HystrixThreadPoolConfig) o;
+            return coreSize == that.coreSize && maximumSize == that.maximumSize && keepAliveTimeMinutes == that.keepAliveTimeMinutes && maxQueueSize == that.maxQueueSize;
+        }
+    
+        @Override
+        public int hashCode() {
+            return Objects.hash(coreSize, maximumSize, keepAliveTimeMinutes, maxQueueSize);
+        }
+    
+        @Override
+        public String toString() {
+            return "HystrixThreadPoolConfig{" + "coreSize=" + coreSize + ", maximumSize=" + maximumSize + ", keepAliveTimeMinutes=" + keepAliveTimeMinutes + ", maxQueueSize=" + maxQueueSize + '}';
+        }
+    }
 }
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/RateLimiterHandle.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/RateLimiterHandle.java
similarity index 98%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/RateLimiterHandle.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/RateLimiterHandle.java
index 848fa48..cec80dd 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/RateLimiterHandle.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/RateLimiterHandle.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.dto.convert;
+package org.apache.shenyu.common.dto.convert.rule;
 
 import java.util.Objects;
 
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/RedirectHandle.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/RedirectHandle.java
similarity index 97%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/RedirectHandle.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/RedirectHandle.java
index 2ae379e..85cd789 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/RedirectHandle.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/RedirectHandle.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.dto.convert;
+package org.apache.shenyu.common.dto.convert.rule;
 
 import java.util.Objects;
 
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/RequestHandle.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/RequestHandle.java
similarity index 99%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/RequestHandle.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/RequestHandle.java
index 2dd1944..2cd94ea 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/RequestHandle.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/RequestHandle.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.dto.convert;
+package org.apache.shenyu.common.dto.convert.rule;
 
 import org.apache.commons.collections4.MapUtils;
 import org.apache.shenyu.common.utils.CollectionUtils;
@@ -28,6 +28,7 @@ import java.util.Set;
  * this is RequestHandle plugin handle.
  */
 public class RequestHandle {
+    
     private ShenyuRequestHeader header;
 
     private ShenyuRequestParameter parameter;
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/Resilience4JHandle.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/Resilience4JHandle.java
similarity index 99%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/Resilience4JHandle.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/Resilience4JHandle.java
index ff937b4..6674857 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/Resilience4JHandle.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/Resilience4JHandle.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.dto.convert;
+package org.apache.shenyu.common.dto.convert.rule;
 
 import org.apache.shenyu.common.constant.Constants;
 
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/RewriteHandle.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/RewriteHandle.java
similarity index 97%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/RewriteHandle.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/RewriteHandle.java
index ae0f30a..24ed524 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/RewriteHandle.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/RewriteHandle.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.dto.convert;
+package org.apache.shenyu.common.dto.convert.rule;
 
 import java.util.Objects;
 
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/SentinelHandle.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/SentinelHandle.java
similarity index 99%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/SentinelHandle.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/SentinelHandle.java
index 2cd68ff..0137423 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/SentinelHandle.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/SentinelHandle.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.dto.convert;
+package org.apache.shenyu.common.dto.convert.rule;
 
 import org.apache.shenyu.common.constant.Constants;
 
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/WafHandle.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/WafHandle.java
similarity index 97%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/WafHandle.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/WafHandle.java
index de8ce79..b75e160 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/WafHandle.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/WafHandle.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.dto.convert;
+package org.apache.shenyu.common.dto.convert.rule;
 
 import java.util.Objects;
 
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/DivideUpstream.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/DivideUpstream.java
similarity index 99%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/DivideUpstream.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/DivideUpstream.java
index 0c2359e..416c8c0 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/DivideUpstream.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/DivideUpstream.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.dto.convert;
+package org.apache.shenyu.common.dto.convert.selector;
 
 import java.io.Serializable;
 import java.util.Objects;
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/SpringCloudSelectorHandle.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/SpringCloudSelectorHandle.java
index 35222bc..76dc1c9 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/SpringCloudSelectorHandle.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/SpringCloudSelectorHandle.java
@@ -17,8 +17,6 @@
 
 package org.apache.shenyu.common.dto.convert.selector;
 
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
-
 import java.io.Serializable;
 import java.util.List;
 import java.util.Objects;
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/WebSocketUpstream.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/WebSocketUpstream.java
similarity index 99%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/WebSocketUpstream.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/WebSocketUpstream.java
index d2ff548..d3197bd 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/WebSocketUpstream.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/WebSocketUpstream.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.dto.convert;
+package org.apache.shenyu.common.dto.convert.selector;
 
 import java.io.Serializable;
 import java.util.Objects;
diff --git a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/ZombieUpstream.java b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/ZombieUpstream.java
similarity index 99%
rename from shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/ZombieUpstream.java
rename to shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/ZombieUpstream.java
index 68eaa8d..035ae93 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/ZombieUpstream.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/ZombieUpstream.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.common.dto.convert;
+package org.apache.shenyu.common.dto.convert.selector;
 
 import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
diff --git a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/RateLimiterPluginTest.java b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/RateLimiterPluginTest.java
index 9f48e7e..70989ca 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/RateLimiterPluginTest.java
+++ b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/RateLimiterPluginTest.java
@@ -19,7 +19,7 @@ package org.apache.shenyu.integrated.test.http.combination;
 
 import com.google.gson.reflect.TypeToken;
 import org.apache.shenyu.common.dto.ConditionData;
-import org.apache.shenyu.common.dto.convert.RateLimiterHandle;
+import org.apache.shenyu.common.dto.convert.rule.RateLimiterHandle;
 import org.apache.shenyu.common.enums.OperatorEnum;
 import org.apache.shenyu.common.enums.ParamTypeEnum;
 import org.apache.shenyu.common.enums.PluginEnum;
diff --git a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/RedirectPluginTest.java b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/RedirectPluginTest.java
index a78b822..0738f4e 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/RedirectPluginTest.java
+++ b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/RedirectPluginTest.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.integrated.test.http.combination;
 
 import org.apache.shenyu.common.dto.ConditionData;
-import org.apache.shenyu.common.dto.convert.RedirectHandle;
+import org.apache.shenyu.common.dto.convert.rule.RedirectHandle;
 import org.apache.shenyu.common.enums.OperatorEnum;
 import org.apache.shenyu.common.enums.ParamTypeEnum;
 import org.apache.shenyu.common.enums.PluginEnum;
diff --git a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/RequestPluginTest.java b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/RequestPluginTest.java
index 01fd2e6..4cb0391 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/RequestPluginTest.java
+++ b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/RequestPluginTest.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.integrated.test.http.combination;
 
 import org.apache.shenyu.common.dto.ConditionData;
-import org.apache.shenyu.common.dto.convert.RequestHandle;
+import org.apache.shenyu.common.dto.convert.rule.RequestHandle;
 import org.apache.shenyu.common.enums.OperatorEnum;
 import org.apache.shenyu.common.enums.ParamTypeEnum;
 import org.apache.shenyu.common.enums.PluginEnum;
diff --git a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/SentinelPluginTest.java b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/SentinelPluginTest.java
index ec391af..38fd6f0 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/SentinelPluginTest.java
+++ b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/SentinelPluginTest.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.integrated.test.http.combination;
 
 import org.apache.shenyu.common.dto.ConditionData;
-import org.apache.shenyu.common.dto.convert.SentinelHandle;
+import org.apache.shenyu.common.dto.convert.rule.SentinelHandle;
 import org.apache.shenyu.common.enums.OperatorEnum;
 import org.apache.shenyu.common.enums.ParamTypeEnum;
 import org.apache.shenyu.common.enums.PluginEnum;
diff --git a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/WafPluginTest.java b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/WafPluginTest.java
index 3eb1a1e..3e965f0 100644
--- a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/WafPluginTest.java
+++ b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/WafPluginTest.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.integrated.test.http.combination;
 
 import org.apache.shenyu.common.dto.ConditionData;
-import org.apache.shenyu.common.dto.convert.WafHandle;
+import org.apache.shenyu.common.dto.convert.rule.WafHandle;
 import org.apache.shenyu.common.enums.OperatorEnum;
 import org.apache.shenyu.common.enums.ParamTypeEnum;
 import org.apache.shenyu.common.enums.PluginEnum;
diff --git a/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/main/java/org/apache/shenyu/plugin/alibaba/dubbo/cache/ApplicationConfigCache.java b/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/main/java/org/apache/shenyu/plugin/alibaba/dubbo/cache/ApplicationConfigCache.java
index 7615352..ee416e1 100644
--- a/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/main/java/org/apache/shenyu/plugin/alibaba/dubbo/cache/ApplicationConfigCache.java
+++ b/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/main/java/org/apache/shenyu/plugin/alibaba/dubbo/cache/ApplicationConfigCache.java
@@ -25,7 +25,7 @@ import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.shenyu.common.config.DubboRegisterConfig;
+import org.apache.shenyu.common.dto.convert.plugin.DubboRegisterConfig;
 import org.apache.shenyu.common.dto.MetaData;
 import org.apache.shenyu.common.exception.ShenyuException;
 import org.apache.shenyu.common.utils.GsonUtils;
diff --git a/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/main/java/org/apache/shenyu/plugin/alibaba/dubbo/handler/AlibabaDubboPluginDataHandler.java b/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/main/java/org/apache/shenyu/plugin/alibaba/dubbo/handler/AlibabaDubboPluginDataHandler.java
index 63cab13..11b8ff2 100644
--- a/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/main/java/org/apache/shenyu/plugin/alibaba/dubbo/handler/AlibabaDubboPluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/main/java/org/apache/shenyu/plugin/alibaba/dubbo/handler/AlibabaDubboPluginDataHandler.java
@@ -17,14 +17,15 @@
 
 package org.apache.shenyu.plugin.alibaba.dubbo.handler;
 
-import java.util.Objects;
-import org.apache.shenyu.common.config.DubboRegisterConfig;
 import org.apache.shenyu.common.dto.PluginData;
+import org.apache.shenyu.common.dto.convert.plugin.DubboRegisterConfig;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
+import org.apache.shenyu.common.utils.Singleton;
 import org.apache.shenyu.plugin.alibaba.dubbo.cache.ApplicationConfigCache;
 import org.apache.shenyu.plugin.base.handler.PluginDataHandler;
-import org.apache.shenyu.common.utils.Singleton;
+
+import java.util.Objects;
 
 /**
  * The type Alibaba dubbo plugin data subscriber.
diff --git a/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/test/java/org/apache/shenyu/plugin/alibaba/dubbo/cache/ApplicationConfigCacheTest.java b/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/test/java/org/apache/shenyu/plugin/alibaba/dubbo/cache/ApplicationConfigCacheTest.java
index 07aaf3a..67d19d6 100644
--- a/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/test/java/org/apache/shenyu/plugin/alibaba/dubbo/cache/ApplicationConfigCacheTest.java
+++ b/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/test/java/org/apache/shenyu/plugin/alibaba/dubbo/cache/ApplicationConfigCacheTest.java
@@ -19,7 +19,7 @@ package org.apache.shenyu.plugin.alibaba.dubbo.cache;
 
 import com.alibaba.dubbo.config.ReferenceConfig;
 import com.alibaba.dubbo.config.RegistryConfig;
-import org.apache.shenyu.common.config.DubboRegisterConfig;
+import org.apache.shenyu.common.dto.convert.plugin.DubboRegisterConfig;
 import org.apache.shenyu.common.dto.MetaData;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.junit.Assert;
diff --git a/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/test/java/org/apache/shenyu/plugin/alibaba/dubbo/handler/AlibabaDubboPluginDataTest.java b/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/test/java/org/apache/shenyu/plugin/alibaba/dubbo/handler/AlibabaDubboPluginDataTest.java
index e889bc1..e584b0c 100644
--- a/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/test/java/org/apache/shenyu/plugin/alibaba/dubbo/handler/AlibabaDubboPluginDataTest.java
+++ b/shenyu-plugin/shenyu-plugin-alibaba-dubbo/src/test/java/org/apache/shenyu/plugin/alibaba/dubbo/handler/AlibabaDubboPluginDataTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shenyu.plugin.alibaba.dubbo.handler;
 
-import org.apache.shenyu.common.config.DubboRegisterConfig;
+import org.apache.shenyu.common.dto.convert.plugin.DubboRegisterConfig;
 import org.apache.shenyu.common.dto.MetaData;
 import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.enums.PluginEnum;
diff --git a/shenyu-plugin/shenyu-plugin-apache-dubbo/src/main/java/org/apache/shenyu/plugin/apache/dubbo/cache/ApplicationConfigCache.java b/shenyu-plugin/shenyu-plugin-apache-dubbo/src/main/java/org/apache/shenyu/plugin/apache/dubbo/cache/ApplicationConfigCache.java
index dbb8937..4b15ef8 100644
--- a/shenyu-plugin/shenyu-plugin-apache-dubbo/src/main/java/org/apache/shenyu/plugin/apache/dubbo/cache/ApplicationConfigCache.java
+++ b/shenyu-plugin/shenyu-plugin-apache-dubbo/src/main/java/org/apache/shenyu/plugin/apache/dubbo/cache/ApplicationConfigCache.java
@@ -25,7 +25,7 @@ import org.apache.dubbo.config.ApplicationConfig;
 import org.apache.dubbo.config.ReferenceConfig;
 import org.apache.dubbo.config.RegistryConfig;
 import org.apache.dubbo.rpc.service.GenericService;
-import org.apache.shenyu.common.config.DubboRegisterConfig;
+import org.apache.shenyu.common.dto.convert.plugin.DubboRegisterConfig;
 import org.apache.shenyu.common.dto.MetaData;
 import org.apache.shenyu.common.exception.ShenyuException;
 import org.apache.shenyu.common.utils.GsonUtils;
diff --git a/shenyu-plugin/shenyu-plugin-apache-dubbo/src/main/java/org/apache/shenyu/plugin/apache/dubbo/handler/ApacheDubboPluginDataHandler.java b/shenyu-plugin/shenyu-plugin-apache-dubbo/src/main/java/org/apache/shenyu/plugin/apache/dubbo/handler/ApacheDubboPluginDataHandler.java
index 0e47d57..29ed4f3 100644
--- a/shenyu-plugin/shenyu-plugin-apache-dubbo/src/main/java/org/apache/shenyu/plugin/apache/dubbo/handler/ApacheDubboPluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-apache-dubbo/src/main/java/org/apache/shenyu/plugin/apache/dubbo/handler/ApacheDubboPluginDataHandler.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.plugin.apache.dubbo.handler;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.shenyu.common.config.DubboRegisterConfig;
+import org.apache.shenyu.common.dto.convert.plugin.DubboRegisterConfig;
 import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
diff --git a/shenyu-plugin/shenyu-plugin-apache-dubbo/src/test/java/org/apache/shenyu/plugin/apache/dubbo/cache/ApplicationConfigCacheTest.java b/shenyu-plugin/shenyu-plugin-apache-dubbo/src/test/java/org/apache/shenyu/plugin/apache/dubbo/cache/ApplicationConfigCacheTest.java
index 319c4fa..1d6667c 100644
--- a/shenyu-plugin/shenyu-plugin-apache-dubbo/src/test/java/org/apache/shenyu/plugin/apache/dubbo/cache/ApplicationConfigCacheTest.java
+++ b/shenyu-plugin/shenyu-plugin-apache-dubbo/src/test/java/org/apache/shenyu/plugin/apache/dubbo/cache/ApplicationConfigCacheTest.java
@@ -19,7 +19,7 @@ package org.apache.shenyu.plugin.apache.dubbo.cache;
 
 import com.alibaba.dubbo.config.ReferenceConfig;
 import org.apache.dubbo.config.RegistryConfig;
-import org.apache.shenyu.common.config.DubboRegisterConfig;
+import org.apache.shenyu.common.dto.convert.plugin.DubboRegisterConfig;
 import org.apache.shenyu.common.dto.MetaData;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.apache.dubbo.cache.ApplicationConfigCache.DubboParamExtInfo;
diff --git a/shenyu-plugin/shenyu-plugin-apache-dubbo/src/test/java/org/apache/shenyu/plugin/apache/dubbo/handler/ApacheDubboPluginDataHandlerTest.java b/shenyu-plugin/shenyu-plugin-apache-dubbo/src/test/java/org/apache/shenyu/plugin/apache/dubbo/handler/ApacheDubboPluginDataHandlerTest.java
index 27b76ba..ef7f5ac 100644
--- a/shenyu-plugin/shenyu-plugin-apache-dubbo/src/test/java/org/apache/shenyu/plugin/apache/dubbo/handler/ApacheDubboPluginDataHandlerTest.java
+++ b/shenyu-plugin/shenyu-plugin-apache-dubbo/src/test/java/org/apache/shenyu/plugin/apache/dubbo/handler/ApacheDubboPluginDataHandlerTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shenyu.plugin.apache.dubbo.handler;
 
-import org.apache.shenyu.common.config.DubboRegisterConfig;
+import org.apache.shenyu.common.dto.convert.plugin.DubboRegisterConfig;
 import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
diff --git a/shenyu-plugin/shenyu-plugin-divide/src/main/java/org/apache/shenyu/plugin/divide/handler/DividePluginDataHandler.java b/shenyu-plugin/shenyu-plugin-divide/src/main/java/org/apache/shenyu/plugin/divide/handler/DividePluginDataHandler.java
index 95e77fa..bff9bd4 100644
--- a/shenyu-plugin/shenyu-plugin-divide/src/main/java/org/apache/shenyu/plugin/divide/handler/DividePluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-divide/src/main/java/org/apache/shenyu/plugin/divide/handler/DividePluginDataHandler.java
@@ -19,7 +19,7 @@ package org.apache.shenyu.plugin.divide.handler;
 
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.dto.convert.rule.impl.DivideRuleHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.CollectionUtils;
diff --git a/shenyu-plugin/shenyu-plugin-divide/src/test/java/org/apache/shenyu/plugin/divide/DividePluginTest.java b/shenyu-plugin/shenyu-plugin-divide/src/test/java/org/apache/shenyu/plugin/divide/DividePluginTest.java
index d92e15d..e67035d 100644
--- a/shenyu-plugin/shenyu-plugin-divide/src/test/java/org/apache/shenyu/plugin/divide/DividePluginTest.java
+++ b/shenyu-plugin/shenyu-plugin-divide/src/test/java/org/apache/shenyu/plugin/divide/DividePluginTest.java
@@ -20,7 +20,7 @@ package org.apache.shenyu.plugin.divide;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.dto.convert.rule.RuleHandleFactory;
 import org.apache.shenyu.common.dto.convert.rule.impl.DivideRuleHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
diff --git a/shenyu-plugin/shenyu-plugin-divide/src/test/java/org/apache/shenyu/plugin/divide/handler/DividePluginDataHandlerTest.java b/shenyu-plugin/shenyu-plugin-divide/src/test/java/org/apache/shenyu/plugin/divide/handler/DividePluginDataHandlerTest.java
index 62c67c5..9df8718 100644
--- a/shenyu-plugin/shenyu-plugin-divide/src/test/java/org/apache/shenyu/plugin/divide/handler/DividePluginDataHandlerTest.java
+++ b/shenyu-plugin/shenyu-plugin-divide/src/test/java/org/apache/shenyu/plugin/divide/handler/DividePluginDataHandlerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.plugin.divide.handler;
 
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.common.utils.UpstreamCheckUtils;
diff --git a/shenyu-plugin/shenyu-plugin-grpc/src/main/java/org/apache/shenyu/plugin/grpc/cache/ApplicationConfigCache.java b/shenyu-plugin/shenyu-plugin-grpc/src/main/java/org/apache/shenyu/plugin/grpc/cache/ApplicationConfigCache.java
index 74a3292..1ebccc5 100644
--- a/shenyu-plugin/shenyu-plugin-grpc/src/main/java/org/apache/shenyu/plugin/grpc/cache/ApplicationConfigCache.java
+++ b/shenyu-plugin/shenyu-plugin-grpc/src/main/java/org/apache/shenyu/plugin/grpc/cache/ApplicationConfigCache.java
@@ -21,7 +21,7 @@ import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.exception.ShenyuException;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.grpc.resolver.ShenyuServiceInstance;
diff --git a/shenyu-plugin/shenyu-plugin-grpc/src/test/java/org/apache/shenyu/plugin/grpc/handler/GrpcPluginDataHandlerTest.java b/shenyu-plugin/shenyu-plugin-grpc/src/test/java/org/apache/shenyu/plugin/grpc/handler/GrpcPluginDataHandlerTest.java
index 531ebe8..f43175a 100644
--- a/shenyu-plugin/shenyu-plugin-grpc/src/test/java/org/apache/shenyu/plugin/grpc/handler/GrpcPluginDataHandlerTest.java
+++ b/shenyu-plugin/shenyu-plugin-grpc/src/test/java/org/apache/shenyu/plugin/grpc/handler/GrpcPluginDataHandlerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.plugin.grpc.handler;
 
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.grpc.cache.ApplicationConfigCache;
diff --git a/shenyu-plugin/shenyu-plugin-hystrix/src/main/java/org/apache/shenyu/plugin/hystrix/HystrixPlugin.java b/shenyu-plugin/shenyu-plugin-hystrix/src/main/java/org/apache/shenyu/plugin/hystrix/HystrixPlugin.java
index 3109856..57d81ca 100644
--- a/shenyu-plugin/shenyu-plugin-hystrix/src/main/java/org/apache/shenyu/plugin/hystrix/HystrixPlugin.java
+++ b/shenyu-plugin/shenyu-plugin-hystrix/src/main/java/org/apache/shenyu/plugin/hystrix/HystrixPlugin.java
@@ -21,7 +21,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.HystrixHandle;
+import org.apache.shenyu.common.dto.convert.rule.HystrixHandle;
 import org.apache.shenyu.common.enums.HystrixIsolationModeEnum;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.enums.ResultEnum;
diff --git a/shenyu-plugin/shenyu-plugin-hystrix/src/main/java/org/apache/shenyu/plugin/hystrix/builder/HystrixBuilder.java b/shenyu-plugin/shenyu-plugin-hystrix/src/main/java/org/apache/shenyu/plugin/hystrix/builder/HystrixBuilder.java
index d8b5b25..e1b523f 100644
--- a/shenyu-plugin/shenyu-plugin-hystrix/src/main/java/org/apache/shenyu/plugin/hystrix/builder/HystrixBuilder.java
+++ b/shenyu-plugin/shenyu-plugin-hystrix/src/main/java/org/apache/shenyu/plugin/hystrix/builder/HystrixBuilder.java
@@ -24,8 +24,8 @@ import com.netflix.hystrix.HystrixCommandProperties;
 import com.netflix.hystrix.HystrixObservableCommand;
 import com.netflix.hystrix.HystrixThreadPoolProperties;
 import org.apache.shenyu.common.constant.Constants;
-import org.apache.shenyu.common.dto.convert.HystrixHandle;
-import org.apache.shenyu.common.dto.convert.HystrixThreadPoolConfig;
+import org.apache.shenyu.common.dto.convert.rule.HystrixHandle;
+import org.apache.shenyu.common.dto.convert.rule.HystrixHandle.HystrixThreadPoolConfig;
 
 import java.util.Objects;
 
diff --git a/shenyu-plugin/shenyu-plugin-hystrix/src/main/java/org/apache/shenyu/plugin/hystrix/handler/HystrixPluginDataHandler.java b/shenyu-plugin/shenyu-plugin-hystrix/src/main/java/org/apache/shenyu/plugin/hystrix/handler/HystrixPluginDataHandler.java
index 5ed8ce8..b43fa8b 100644
--- a/shenyu-plugin/shenyu-plugin-hystrix/src/main/java/org/apache/shenyu/plugin/hystrix/handler/HystrixPluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-hystrix/src/main/java/org/apache/shenyu/plugin/hystrix/handler/HystrixPluginDataHandler.java
@@ -19,7 +19,7 @@ package org.apache.shenyu.plugin.hystrix.handler;
 
 import com.netflix.hystrix.strategy.properties.HystrixPropertiesFactory;
 import org.apache.shenyu.common.dto.RuleData;
-import org.apache.shenyu.common.dto.convert.HystrixHandle;
+import org.apache.shenyu.common.dto.convert.rule.HystrixHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.base.cache.RuleHandleCache;
diff --git a/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/HystrixPluginTest.java b/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/HystrixPluginTest.java
index 606ecf1..32a23f7 100644
--- a/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/HystrixPluginTest.java
+++ b/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/HystrixPluginTest.java
@@ -20,7 +20,7 @@ package org.apache.shenyu.plugin.hystrix;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.HystrixHandle;
+import org.apache.shenyu.common.dto.convert.rule.HystrixHandle;
 import org.apache.shenyu.common.enums.HystrixIsolationModeEnum;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
diff --git a/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/builder/HystrixBuilderTest.java b/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/builder/HystrixBuilderTest.java
index b46c84c..c30f3c0 100644
--- a/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/builder/HystrixBuilderTest.java
+++ b/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/builder/HystrixBuilderTest.java
@@ -17,8 +17,8 @@
 
 package org.apache.shenyu.plugin.hystrix.builder;
 
-import org.apache.shenyu.common.dto.convert.HystrixHandle;
-import org.apache.shenyu.common.dto.convert.HystrixThreadPoolConfig;
+import org.apache.shenyu.common.dto.convert.rule.HystrixHandle;
+import org.apache.shenyu.common.dto.convert.rule.HystrixHandle.HystrixThreadPoolConfig;
 import org.junit.Test;
 
 import static org.junit.Assert.assertNotNull;
diff --git a/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/command/HystrixCommandOnThreadTest.java b/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/command/HystrixCommandOnThreadTest.java
index 806ba35..7a1c4fd 100644
--- a/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/command/HystrixCommandOnThreadTest.java
+++ b/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/command/HystrixCommandOnThreadTest.java
@@ -22,8 +22,8 @@ import com.netflix.hystrix.HystrixCommandGroupKey;
 import com.netflix.hystrix.HystrixCommandKey;
 import com.netflix.hystrix.HystrixCommandProperties;
 import com.netflix.hystrix.HystrixThreadPoolProperties;
-import org.apache.shenyu.common.dto.convert.HystrixHandle;
-import org.apache.shenyu.common.dto.convert.HystrixThreadPoolConfig;
+import org.apache.shenyu.common.dto.convert.rule.HystrixHandle;
+import org.apache.shenyu.common.dto.convert.rule.HystrixHandle.HystrixThreadPoolConfig;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/command/HystrixCommandTest.java b/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/command/HystrixCommandTest.java
index 701efb3..cf12d46 100644
--- a/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/command/HystrixCommandTest.java
+++ b/shenyu-plugin/shenyu-plugin-hystrix/src/test/java/org/apache/shenyu/plugin/hystrix/command/HystrixCommandTest.java
@@ -21,7 +21,7 @@ import com.netflix.hystrix.HystrixCommandGroupKey;
 import com.netflix.hystrix.HystrixCommandKey;
 import com.netflix.hystrix.HystrixCommandProperties;
 import com.netflix.hystrix.HystrixObservableCommand;
-import org.apache.shenyu.common.dto.convert.HystrixHandle;
+import org.apache.shenyu.common.dto.convert.rule.HystrixHandle;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/shenyu-plugin/shenyu-plugin-motan/src/main/java/org/apache/shenyu/plugin/motan/cache/ApplicationConfigCache.java b/shenyu-plugin/shenyu-plugin-motan/src/main/java/org/apache/shenyu/plugin/motan/cache/ApplicationConfigCache.java
index b7752cf..8efaba1 100644
--- a/shenyu-plugin/shenyu-plugin-motan/src/main/java/org/apache/shenyu/plugin/motan/cache/ApplicationConfigCache.java
+++ b/shenyu-plugin/shenyu-plugin-motan/src/main/java/org/apache/shenyu/plugin/motan/cache/ApplicationConfigCache.java
@@ -27,7 +27,7 @@ import com.weibo.api.motan.proxy.CommonHandler;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.tuple.Pair;
-import org.apache.shenyu.common.config.MotanRegisterConfig;
+import org.apache.shenyu.common.dto.convert.plugin.MotanRegisterConfig;
 import org.apache.shenyu.common.dto.MetaData;
 import org.apache.shenyu.common.exception.ShenyuException;
 import org.apache.shenyu.common.utils.GsonUtils;
diff --git a/shenyu-plugin/shenyu-plugin-motan/src/main/java/org/apache/shenyu/plugin/motan/handler/MotanPluginDataHandler.java b/shenyu-plugin/shenyu-plugin-motan/src/main/java/org/apache/shenyu/plugin/motan/handler/MotanPluginDataHandler.java
index 2156fa0..44bb21f 100644
--- a/shenyu-plugin/shenyu-plugin-motan/src/main/java/org/apache/shenyu/plugin/motan/handler/MotanPluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-motan/src/main/java/org/apache/shenyu/plugin/motan/handler/MotanPluginDataHandler.java
@@ -17,7 +17,7 @@
 
 package org.apache.shenyu.plugin.motan.handler;
 
-import org.apache.shenyu.common.config.MotanRegisterConfig;
+import org.apache.shenyu.common.dto.convert.plugin.MotanRegisterConfig;
 import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
diff --git a/shenyu-plugin/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/RateLimiterPlugin.java b/shenyu-plugin/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/RateLimiterPlugin.java
index 509cf47..db625b4 100644
--- a/shenyu-plugin/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/RateLimiterPlugin.java
+++ b/shenyu-plugin/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/RateLimiterPlugin.java
@@ -19,7 +19,7 @@ package org.apache.shenyu.plugin.ratelimiter;
 
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.RateLimiterHandle;
+import org.apache.shenyu.common.dto.convert.rule.RateLimiterHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
 import org.apache.shenyu.plugin.api.result.ShenyuResultEnum;
diff --git a/shenyu-plugin/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/executor/RedisRateLimiter.java b/shenyu-plugin/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/executor/RedisRateLimiter.java
index 2ddcfa9..ef0203c 100644
--- a/shenyu-plugin/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/executor/RedisRateLimiter.java
+++ b/shenyu-plugin/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/executor/RedisRateLimiter.java
@@ -17,7 +17,7 @@
 
 package org.apache.shenyu.plugin.ratelimiter.executor;
 
-import org.apache.shenyu.common.dto.convert.RateLimiterHandle;
+import org.apache.shenyu.common.dto.convert.rule.RateLimiterHandle;
 import org.apache.shenyu.common.utils.Singleton;
 import org.apache.shenyu.plugin.ratelimiter.algorithm.RateLimiterAlgorithm;
 import org.apache.shenyu.plugin.ratelimiter.algorithm.RateLimiterAlgorithmFactory;
diff --git a/shenyu-plugin/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/handler/RateLimiterPluginDataHandler.java b/shenyu-plugin/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/handler/RateLimiterPluginDataHandler.java
index a5d1923..7f2a045 100644
--- a/shenyu-plugin/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/handler/RateLimiterPluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/handler/RateLimiterPluginDataHandler.java
@@ -22,7 +22,7 @@ import com.google.common.collect.Lists;
 import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
 import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.dto.RuleData;
-import org.apache.shenyu.common.dto.convert.RateLimiterHandle;
+import org.apache.shenyu.common.dto.convert.rule.RateLimiterHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.enums.RedisModeEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
diff --git a/shenyu-plugin/shenyu-plugin-ratelimiter/src/test/java/org/apache/shenyu/plugin/ratelimiter/RateLimiterPluginTest.java b/shenyu-plugin/shenyu-plugin-ratelimiter/src/test/java/org/apache/shenyu/plugin/ratelimiter/RateLimiterPluginTest.java
index c8b4932..61d1be0 100644
--- a/shenyu-plugin/shenyu-plugin-ratelimiter/src/test/java/org/apache/shenyu/plugin/ratelimiter/RateLimiterPluginTest.java
+++ b/shenyu-plugin/shenyu-plugin-ratelimiter/src/test/java/org/apache/shenyu/plugin/ratelimiter/RateLimiterPluginTest.java
@@ -19,7 +19,7 @@ package org.apache.shenyu.plugin.ratelimiter;
 
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.RateLimiterHandle;
+import org.apache.shenyu.common.dto.convert.rule.RateLimiterHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
 import org.apache.shenyu.plugin.api.result.DefaultShenyuResult;
diff --git a/shenyu-plugin/shenyu-plugin-ratelimiter/src/test/java/org/apache/shenyu/plugin/ratelimiter/executor/RedisRateLimiterTest.java b/shenyu-plugin/shenyu-plugin-ratelimiter/src/test/java/org/apache/shenyu/plugin/ratelimiter/executor/RedisRateLimiterTest.java
index dc200be..20a0bba 100644
--- a/shenyu-plugin/shenyu-plugin-ratelimiter/src/test/java/org/apache/shenyu/plugin/ratelimiter/executor/RedisRateLimiterTest.java
+++ b/shenyu-plugin/shenyu-plugin-ratelimiter/src/test/java/org/apache/shenyu/plugin/ratelimiter/executor/RedisRateLimiterTest.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.plugin.ratelimiter.executor;
 
 import com.google.common.collect.Lists;
-import org.apache.shenyu.common.dto.convert.RateLimiterHandle;
+import org.apache.shenyu.common.dto.convert.rule.RateLimiterHandle;
 import org.apache.shenyu.common.utils.Singleton;
 import org.apache.shenyu.plugin.ratelimiter.response.RateLimiterResponse;
 import org.junit.Assert;
diff --git a/shenyu-plugin/shenyu-plugin-redirect/src/main/java/org/apache/shenyu/plugin/redirect/RedirectPlugin.java b/shenyu-plugin/shenyu-plugin-redirect/src/main/java/org/apache/shenyu/plugin/redirect/RedirectPlugin.java
index c45b6f1..e14d42c 100644
--- a/shenyu-plugin/shenyu-plugin-redirect/src/main/java/org/apache/shenyu/plugin/redirect/RedirectPlugin.java
+++ b/shenyu-plugin/shenyu-plugin-redirect/src/main/java/org/apache/shenyu/plugin/redirect/RedirectPlugin.java
@@ -20,7 +20,7 @@ package org.apache.shenyu.plugin.redirect;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.RedirectHandle;
+import org.apache.shenyu.common.dto.convert.rule.RedirectHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
 import org.apache.shenyu.plugin.base.AbstractShenyuPlugin;
diff --git a/shenyu-plugin/shenyu-plugin-redirect/src/main/java/org/apache/shenyu/plugin/redirect/handler/RedirectPluginDataHandler.java b/shenyu-plugin/shenyu-plugin-redirect/src/main/java/org/apache/shenyu/plugin/redirect/handler/RedirectPluginDataHandler.java
index ca4470e..2d2094f 100644
--- a/shenyu-plugin/shenyu-plugin-redirect/src/main/java/org/apache/shenyu/plugin/redirect/handler/RedirectPluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-redirect/src/main/java/org/apache/shenyu/plugin/redirect/handler/RedirectPluginDataHandler.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.plugin.redirect.handler;
 
 import org.apache.shenyu.common.dto.RuleData;
-import org.apache.shenyu.common.dto.convert.RedirectHandle;
+import org.apache.shenyu.common.dto.convert.rule.RedirectHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.base.cache.RuleHandleCache;
diff --git a/shenyu-plugin/shenyu-plugin-redirect/src/test/java/org/apache/shenyu/plugin/redirect/RedirectPluginTest.java b/shenyu-plugin/shenyu-plugin-redirect/src/test/java/org/apache/shenyu/plugin/redirect/RedirectPluginTest.java
index 39ccda4..93f7e8e 100644
--- a/shenyu-plugin/shenyu-plugin-redirect/src/test/java/org/apache/shenyu/plugin/redirect/RedirectPluginTest.java
+++ b/shenyu-plugin/shenyu-plugin-redirect/src/test/java/org/apache/shenyu/plugin/redirect/RedirectPluginTest.java
@@ -19,7 +19,7 @@ package org.apache.shenyu.plugin.redirect;
 
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.RedirectHandle;
+import org.apache.shenyu.common.dto.convert.rule.RedirectHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
 import org.apache.shenyu.plugin.base.utils.CacheKeyUtils;
diff --git a/shenyu-plugin/shenyu-plugin-request/src/main/java/org/apache/shenyu/plugin/request/RequestPlugin.java b/shenyu-plugin/shenyu-plugin-request/src/main/java/org/apache/shenyu/plugin/request/RequestPlugin.java
index f10045d..07b5048 100644
--- a/shenyu-plugin/shenyu-plugin-request/src/main/java/org/apache/shenyu/plugin/request/RequestPlugin.java
+++ b/shenyu-plugin/shenyu-plugin-request/src/main/java/org/apache/shenyu/plugin/request/RequestPlugin.java
@@ -21,7 +21,7 @@ import org.apache.commons.collections4.MapUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.RequestHandle;
+import org.apache.shenyu.common.dto.convert.rule.RequestHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.CollectionUtils;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
diff --git a/shenyu-plugin/shenyu-plugin-request/src/main/java/org/apache/shenyu/plugin/request/handler/RequestPluginHandler.java b/shenyu-plugin/shenyu-plugin-request/src/main/java/org/apache/shenyu/plugin/request/handler/RequestPluginHandler.java
index 60388b5..a6d2678 100644
--- a/shenyu-plugin/shenyu-plugin-request/src/main/java/org/apache/shenyu/plugin/request/handler/RequestPluginHandler.java
+++ b/shenyu-plugin/shenyu-plugin-request/src/main/java/org/apache/shenyu/plugin/request/handler/RequestPluginHandler.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.plugin.request.handler;
 
 import org.apache.shenyu.common.dto.RuleData;
-import org.apache.shenyu.common.dto.convert.RequestHandle;
+import org.apache.shenyu.common.dto.convert.rule.RequestHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.base.cache.RuleHandleCache;
diff --git a/shenyu-plugin/shenyu-plugin-request/src/test/java/org/apache/shenyu/plugin/request/RequestPluginTest.java b/shenyu-plugin/shenyu-plugin-request/src/test/java/org/apache/shenyu/plugin/request/RequestPluginTest.java
index 31d8ce5..836ea1e 100644
--- a/shenyu-plugin/shenyu-plugin-request/src/test/java/org/apache/shenyu/plugin/request/RequestPluginTest.java
+++ b/shenyu-plugin/shenyu-plugin-request/src/test/java/org/apache/shenyu/plugin/request/RequestPluginTest.java
@@ -20,10 +20,10 @@ package org.apache.shenyu.plugin.request;
 import com.google.common.collect.ImmutableMap;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.RequestHandle;
-import org.apache.shenyu.common.dto.convert.RequestHandle.ShenyuCookie;
-import org.apache.shenyu.common.dto.convert.RequestHandle.ShenyuRequestHeader;
-import org.apache.shenyu.common.dto.convert.RequestHandle.ShenyuRequestParameter;
+import org.apache.shenyu.common.dto.convert.rule.RequestHandle;
+import org.apache.shenyu.common.dto.convert.rule.RequestHandle.ShenyuCookie;
+import org.apache.shenyu.common.dto.convert.rule.RequestHandle.ShenyuRequestHeader;
+import org.apache.shenyu.common.dto.convert.rule.RequestHandle.ShenyuRequestParameter;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
 import org.apache.shenyu.plugin.base.utils.CacheKeyUtils;
diff --git a/shenyu-plugin/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/Resilience4JPlugin.java b/shenyu-plugin/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/Resilience4JPlugin.java
index 31d38ce..9d8a32e 100644
--- a/shenyu-plugin/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/Resilience4JPlugin.java
+++ b/shenyu-plugin/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/Resilience4JPlugin.java
@@ -20,7 +20,7 @@ package org.apache.shenyu.plugin.resilience4j;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.Resilience4JHandle;
+import org.apache.shenyu.common.dto.convert.rule.Resilience4JHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
 import org.apache.shenyu.plugin.api.context.ShenyuContext;
diff --git a/shenyu-plugin/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/build/Resilience4JBuilder.java b/shenyu-plugin/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/build/Resilience4JBuilder.java
index 1e1dd0d..077edb1 100644
--- a/shenyu-plugin/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/build/Resilience4JBuilder.java
+++ b/shenyu-plugin/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/build/Resilience4JBuilder.java
@@ -22,7 +22,7 @@ import io.github.resilience4j.core.IntervalFunction;
 import io.github.resilience4j.ratelimiter.RateLimiterConfig;
 import io.github.resilience4j.timelimiter.TimeLimiterConfig;
 import org.apache.shenyu.common.dto.RuleData;
-import org.apache.shenyu.common.dto.convert.Resilience4JHandle;
+import org.apache.shenyu.common.dto.convert.rule.Resilience4JHandle;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.base.utils.CacheKeyUtils;
 import org.apache.shenyu.plugin.resilience4j.conf.Resilience4JConf;
diff --git a/shenyu-plugin/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/handler/Resilience4JHandler.java b/shenyu-plugin/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/handler/Resilience4JHandler.java
index 3d53401..dbf10b6 100644
--- a/shenyu-plugin/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/handler/Resilience4JHandler.java
+++ b/shenyu-plugin/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/handler/Resilience4JHandler.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.plugin.resilience4j.handler;
 
 import org.apache.shenyu.common.dto.RuleData;
-import org.apache.shenyu.common.dto.convert.Resilience4JHandle;
+import org.apache.shenyu.common.dto.convert.rule.Resilience4JHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.base.cache.RuleHandleCache;
diff --git a/shenyu-plugin/shenyu-plugin-resilience4j/src/test/java/org/apache/shenyu/plugin/resilience4j/Resilience4JPluginTest.java b/shenyu-plugin/shenyu-plugin-resilience4j/src/test/java/org/apache/shenyu/plugin/resilience4j/Resilience4JPluginTest.java
index cbfadc4..4e7fc96 100644
--- a/shenyu-plugin/shenyu-plugin-resilience4j/src/test/java/org/apache/shenyu/plugin/resilience4j/Resilience4JPluginTest.java
+++ b/shenyu-plugin/shenyu-plugin-resilience4j/src/test/java/org/apache/shenyu/plugin/resilience4j/Resilience4JPluginTest.java
@@ -24,7 +24,7 @@ import io.github.resilience4j.ratelimiter.RequestNotPermitted;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.Resilience4JHandle;
+import org.apache.shenyu.common.dto.convert.rule.Resilience4JHandle;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
 import org.apache.shenyu.plugin.api.context.ShenyuContext;
diff --git a/shenyu-plugin/shenyu-plugin-rewrite/src/main/java/org/apache/shenyu/plugin/rewrite/RewritePlugin.java b/shenyu-plugin/shenyu-plugin-rewrite/src/main/java/org/apache/shenyu/plugin/rewrite/RewritePlugin.java
index 8bc7e63..6c1a14a 100644
--- a/shenyu-plugin/shenyu-plugin-rewrite/src/main/java/org/apache/shenyu/plugin/rewrite/RewritePlugin.java
+++ b/shenyu-plugin/shenyu-plugin-rewrite/src/main/java/org/apache/shenyu/plugin/rewrite/RewritePlugin.java
@@ -21,7 +21,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.RewriteHandle;
+import org.apache.shenyu.common.dto.convert.rule.RewriteHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.enums.RpcTypeEnum;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
diff --git a/shenyu-plugin/shenyu-plugin-rewrite/src/main/java/org/apache/shenyu/plugin/rewrite/handler/RewritePluginDataHandler.java b/shenyu-plugin/shenyu-plugin-rewrite/src/main/java/org/apache/shenyu/plugin/rewrite/handler/RewritePluginDataHandler.java
index 97b87aa..5529706 100644
--- a/shenyu-plugin/shenyu-plugin-rewrite/src/main/java/org/apache/shenyu/plugin/rewrite/handler/RewritePluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-rewrite/src/main/java/org/apache/shenyu/plugin/rewrite/handler/RewritePluginDataHandler.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.plugin.rewrite.handler;
 
 import org.apache.shenyu.common.dto.RuleData;
-import org.apache.shenyu.common.dto.convert.RewriteHandle;
+import org.apache.shenyu.common.dto.convert.rule.RewriteHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.base.cache.RuleHandleCache;
diff --git a/shenyu-plugin/shenyu-plugin-rewrite/src/test/java/org/apache/shenyu/plugin/rewrite/RewritePluginTest.java b/shenyu-plugin/shenyu-plugin-rewrite/src/test/java/org/apache/shenyu/plugin/rewrite/RewritePluginTest.java
index 7c74d9f..cc52bfd 100644
--- a/shenyu-plugin/shenyu-plugin-rewrite/src/test/java/org/apache/shenyu/plugin/rewrite/RewritePluginTest.java
+++ b/shenyu-plugin/shenyu-plugin-rewrite/src/test/java/org/apache/shenyu/plugin/rewrite/RewritePluginTest.java
@@ -20,7 +20,7 @@ package org.apache.shenyu.plugin.rewrite;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.RewriteHandle;
+import org.apache.shenyu.common.dto.convert.rule.RewriteHandle;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
 import org.apache.shenyu.plugin.api.context.ShenyuContext;
diff --git a/shenyu-plugin/shenyu-plugin-sentinel/src/main/java/org/apache/shenyu/plugin/sentinel/SentinelPlugin.java b/shenyu-plugin/shenyu-plugin-sentinel/src/main/java/org/apache/shenyu/plugin/sentinel/SentinelPlugin.java
index cdd37a9..1823902 100644
--- a/shenyu-plugin/shenyu-plugin-sentinel/src/main/java/org/apache/shenyu/plugin/sentinel/SentinelPlugin.java
+++ b/shenyu-plugin/shenyu-plugin-sentinel/src/main/java/org/apache/shenyu/plugin/sentinel/SentinelPlugin.java
@@ -21,7 +21,7 @@ import com.alibaba.csp.sentinel.adapter.reactor.SentinelReactorTransformer;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.SentinelHandle;
+import org.apache.shenyu.common.dto.convert.rule.SentinelHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
diff --git a/shenyu-plugin/shenyu-plugin-sentinel/src/main/java/org/apache/shenyu/plugin/sentinel/handler/SentinelRuleHandle.java b/shenyu-plugin/shenyu-plugin-sentinel/src/main/java/org/apache/shenyu/plugin/sentinel/handler/SentinelRuleHandle.java
index 7f5798f..5bfbce4 100644
--- a/shenyu-plugin/shenyu-plugin-sentinel/src/main/java/org/apache/shenyu/plugin/sentinel/handler/SentinelRuleHandle.java
+++ b/shenyu-plugin/shenyu-plugin-sentinel/src/main/java/org/apache/shenyu/plugin/sentinel/handler/SentinelRuleHandle.java
@@ -23,7 +23,7 @@ import com.alibaba.csp.sentinel.slots.block.flow.FlowRule;
 import com.alibaba.csp.sentinel.slots.block.flow.FlowRuleManager;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.RuleData;
-import org.apache.shenyu.common.dto.convert.SentinelHandle;
+import org.apache.shenyu.common.dto.convert.rule.SentinelHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.base.handler.PluginDataHandler;
diff --git a/shenyu-plugin/shenyu-plugin-sentinel/src/test/java/org/apache/shenyu/plugin/sentinel/SentinelPluginTest.java b/shenyu-plugin/shenyu-plugin-sentinel/src/test/java/org/apache/shenyu/plugin/sentinel/SentinelPluginTest.java
index 31f09d1..1e87704 100644
--- a/shenyu-plugin/shenyu-plugin-sentinel/src/test/java/org/apache/shenyu/plugin/sentinel/SentinelPluginTest.java
+++ b/shenyu-plugin/shenyu-plugin-sentinel/src/test/java/org/apache/shenyu/plugin/sentinel/SentinelPluginTest.java
@@ -20,7 +20,7 @@ package org.apache.shenyu.plugin.sentinel;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.SentinelHandle;
+import org.apache.shenyu.common.dto.convert.rule.SentinelHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
diff --git a/shenyu-plugin/shenyu-plugin-sentinel/src/test/java/org/apache/shenyu/plugin/sentinel/handler/SentinelRuleHandleTest.java b/shenyu-plugin/shenyu-plugin-sentinel/src/test/java/org/apache/shenyu/plugin/sentinel/handler/SentinelRuleHandleTest.java
index 35b72ee..aa05bc4 100644
--- a/shenyu-plugin/shenyu-plugin-sentinel/src/test/java/org/apache/shenyu/plugin/sentinel/handler/SentinelRuleHandleTest.java
+++ b/shenyu-plugin/shenyu-plugin-sentinel/src/test/java/org/apache/shenyu/plugin/sentinel/handler/SentinelRuleHandleTest.java
@@ -22,7 +22,7 @@ import com.alibaba.csp.sentinel.slots.block.degrade.DegradeRuleManager;
 import com.alibaba.csp.sentinel.slots.block.flow.FlowRule;
 import com.alibaba.csp.sentinel.slots.block.flow.FlowRuleManager;
 import org.apache.shenyu.common.dto.RuleData;
-import org.apache.shenyu.common.dto.convert.SentinelHandle;
+import org.apache.shenyu.common.dto.convert.rule.SentinelHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.junit.Before;
diff --git a/shenyu-plugin/shenyu-plugin-sofa/src/main/java/org/apache/shenyu/plugin/sofa/cache/ApplicationConfigCache.java b/shenyu-plugin/shenyu-plugin-sofa/src/main/java/org/apache/shenyu/plugin/sofa/cache/ApplicationConfigCache.java
index f85992d..c5a1a4f 100644
--- a/shenyu-plugin/shenyu-plugin-sofa/src/main/java/org/apache/shenyu/plugin/sofa/cache/ApplicationConfigCache.java
+++ b/shenyu-plugin/shenyu-plugin-sofa/src/main/java/org/apache/shenyu/plugin/sofa/cache/ApplicationConfigCache.java
@@ -26,7 +26,7 @@ import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.shenyu.common.config.SofaRegisterConfig;
+import org.apache.shenyu.common.dto.convert.plugin.SofaRegisterConfig;
 import org.apache.shenyu.common.dto.MetaData;
 import org.apache.shenyu.common.enums.LoadBalanceEnum;
 import org.apache.shenyu.common.exception.ShenyuException;
diff --git a/shenyu-plugin/shenyu-plugin-sofa/src/main/java/org/apache/shenyu/plugin/sofa/handler/SofaPluginDataHandler.java b/shenyu-plugin/shenyu-plugin-sofa/src/main/java/org/apache/shenyu/plugin/sofa/handler/SofaPluginDataHandler.java
index 2564579..eb4ef5c 100644
--- a/shenyu-plugin/shenyu-plugin-sofa/src/main/java/org/apache/shenyu/plugin/sofa/handler/SofaPluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-sofa/src/main/java/org/apache/shenyu/plugin/sofa/handler/SofaPluginDataHandler.java
@@ -17,7 +17,7 @@
 
 package org.apache.shenyu.plugin.sofa.handler;
 
-import org.apache.shenyu.common.config.SofaRegisterConfig;
+import org.apache.shenyu.common.dto.convert.plugin.SofaRegisterConfig;
 import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
diff --git a/shenyu-plugin/shenyu-plugin-sofa/src/test/java/org/apache/shenyu/plugin/sofa/handler/SofaPluginDataHandlerTest.java b/shenyu-plugin/shenyu-plugin-sofa/src/test/java/org/apache/shenyu/plugin/sofa/handler/SofaPluginDataHandlerTest.java
index 91f77b2..93e5b10 100644
--- a/shenyu-plugin/shenyu-plugin-sofa/src/test/java/org/apache/shenyu/plugin/sofa/handler/SofaPluginDataHandlerTest.java
+++ b/shenyu-plugin/shenyu-plugin-sofa/src/test/java/org/apache/shenyu/plugin/sofa/handler/SofaPluginDataHandlerTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shenyu.plugin.sofa.handler;
 
-import org.apache.shenyu.common.config.SofaRegisterConfig;
+import org.apache.shenyu.common.dto.convert.plugin.SofaRegisterConfig;
 import org.apache.shenyu.common.dto.MetaData;
 import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.utils.Singleton;
diff --git a/shenyu-plugin/shenyu-plugin-springcloud/src/main/java/org/apache/shenyu/plugin/springcloud/handler/SpringCloudPluginDataHandler.java b/shenyu-plugin/shenyu-plugin-springcloud/src/main/java/org/apache/shenyu/plugin/springcloud/handler/SpringCloudPluginDataHandler.java
index dcdcc5a..4de5e15 100644
--- a/shenyu-plugin/shenyu-plugin-springcloud/src/main/java/org/apache/shenyu/plugin/springcloud/handler/SpringCloudPluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-springcloud/src/main/java/org/apache/shenyu/plugin/springcloud/handler/SpringCloudPluginDataHandler.java
@@ -19,7 +19,7 @@ package org.apache.shenyu.plugin.springcloud.handler;
 
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.dto.convert.rule.impl.SpringCloudRuleHandle;
 import org.apache.shenyu.common.dto.convert.selector.SpringCloudSelectorHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
diff --git a/shenyu-plugin/shenyu-plugin-springcloud/src/test/java/org/apache/shenyu/plugin/springcloud/SpringCloudPluginTest.java b/shenyu-plugin/shenyu-plugin-springcloud/src/test/java/org/apache/shenyu/plugin/springcloud/SpringCloudPluginTest.java
index 0cdd45b..be4ae1b 100644
--- a/shenyu-plugin/shenyu-plugin-springcloud/src/test/java/org/apache/shenyu/plugin/springcloud/SpringCloudPluginTest.java
+++ b/shenyu-plugin/shenyu-plugin-springcloud/src/test/java/org/apache/shenyu/plugin/springcloud/SpringCloudPluginTest.java
@@ -21,7 +21,7 @@ import com.google.common.collect.Lists;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.dto.convert.rule.impl.SpringCloudRuleHandle;
 import org.apache.shenyu.common.dto.convert.selector.SpringCloudSelectorHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
diff --git a/shenyu-plugin/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/cache/ApplicationConfigCache.java b/shenyu-plugin/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/cache/ApplicationConfigCache.java
index 915805c..b516113 100644
--- a/shenyu-plugin/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/cache/ApplicationConfigCache.java
+++ b/shenyu-plugin/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/cache/ApplicationConfigCache.java
@@ -39,7 +39,7 @@ import org.assertj.core.internal.bytebuddy.dynamic.DynamicType;
 import org.assertj.core.internal.bytebuddy.dynamic.loading.ClassLoadingStrategy;
 import org.apache.shenyu.common.dto.MetaData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/shenyu-plugin/shenyu-plugin-waf/src/main/java/org/apache/shenyu/plugin/waf/WafPlugin.java b/shenyu-plugin/shenyu-plugin-waf/src/main/java/org/apache/shenyu/plugin/waf/WafPlugin.java
index 5f4f71c..7638a18 100644
--- a/shenyu-plugin/shenyu-plugin-waf/src/main/java/org/apache/shenyu/plugin/waf/WafPlugin.java
+++ b/shenyu-plugin/shenyu-plugin-waf/src/main/java/org/apache/shenyu/plugin/waf/WafPlugin.java
@@ -21,7 +21,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.WafHandle;
+import org.apache.shenyu.common.dto.convert.rule.WafHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.enums.WafEnum;
 import org.apache.shenyu.common.enums.WafModelEnum;
diff --git a/shenyu-plugin/shenyu-plugin-waf/src/main/java/org/apache/shenyu/plugin/waf/handler/WafPluginDataHandler.java b/shenyu-plugin/shenyu-plugin-waf/src/main/java/org/apache/shenyu/plugin/waf/handler/WafPluginDataHandler.java
index f8161a0..6436538 100644
--- a/shenyu-plugin/shenyu-plugin-waf/src/main/java/org/apache/shenyu/plugin/waf/handler/WafPluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-waf/src/main/java/org/apache/shenyu/plugin/waf/handler/WafPluginDataHandler.java
@@ -19,7 +19,7 @@ package org.apache.shenyu.plugin.waf.handler;
 
 import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.dto.RuleData;
-import org.apache.shenyu.common.dto.convert.WafHandle;
+import org.apache.shenyu.common.dto.convert.rule.WafHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.base.cache.RuleHandleCache;
diff --git a/shenyu-plugin/shenyu-plugin-waf/src/test/java/org/apache/shenyu/plugin/waf/WafPluginTest.java b/shenyu-plugin/shenyu-plugin-waf/src/test/java/org/apache/shenyu/plugin/waf/WafPluginTest.java
index 2a3314b..582e7e9 100644
--- a/shenyu-plugin/shenyu-plugin-waf/src/test/java/org/apache/shenyu/plugin/waf/WafPluginTest.java
+++ b/shenyu-plugin/shenyu-plugin-waf/src/test/java/org/apache/shenyu/plugin/waf/WafPluginTest.java
@@ -20,7 +20,7 @@ package org.apache.shenyu.plugin.waf;
 import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.WafHandle;
+import org.apache.shenyu.common.dto.convert.rule.WafHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.api.ShenyuPluginChain;
diff --git a/shenyu-plugin/shenyu-plugin-waf/src/test/java/org/apache/shenyu/plugin/waf/handler/WafPluginDataHandlerTest.java b/shenyu-plugin/shenyu-plugin-waf/src/test/java/org/apache/shenyu/plugin/waf/handler/WafPluginDataHandlerTest.java
index 8b8b1f2..cdd915f 100644
--- a/shenyu-plugin/shenyu-plugin-waf/src/test/java/org/apache/shenyu/plugin/waf/handler/WafPluginDataHandlerTest.java
+++ b/shenyu-plugin/shenyu-plugin-waf/src/test/java/org/apache/shenyu/plugin/waf/handler/WafPluginDataHandlerTest.java
@@ -19,7 +19,7 @@ package org.apache.shenyu.plugin.waf.handler;
 
 import org.apache.shenyu.common.dto.PluginData;
 import org.apache.shenyu.common.dto.RuleData;
-import org.apache.shenyu.common.dto.convert.WafHandle;
+import org.apache.shenyu.common.dto.convert.rule.WafHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
 import org.apache.shenyu.plugin.base.utils.CacheKeyUtils;
diff --git a/shenyu-plugin/shenyu-plugin-websocket/src/main/java/org/apache/shenyu/plugin/websocket/handler/WebSocketPluginDataHandler.java b/shenyu-plugin/shenyu-plugin-websocket/src/main/java/org/apache/shenyu/plugin/websocket/handler/WebSocketPluginDataHandler.java
index c40f120..24dfc9e 100644
--- a/shenyu-plugin/shenyu-plugin-websocket/src/main/java/org/apache/shenyu/plugin/websocket/handler/WebSocketPluginDataHandler.java
+++ b/shenyu-plugin/shenyu-plugin-websocket/src/main/java/org/apache/shenyu/plugin/websocket/handler/WebSocketPluginDataHandler.java
@@ -19,7 +19,7 @@ package org.apache.shenyu.plugin.websocket.handler;
 
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.WebSocketUpstream;
+import org.apache.shenyu.common.dto.convert.selector.WebSocketUpstream;
 import org.apache.shenyu.common.dto.convert.rule.impl.WebSocketRuleHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.utils.CollectionUtils;
diff --git a/shenyu-plugin/shenyu-plugin-websocket/src/test/java/org/apache/shenyu/plugin/websocket/WebSocketPluginTest.java b/shenyu-plugin/shenyu-plugin-websocket/src/test/java/org/apache/shenyu/plugin/websocket/WebSocketPluginTest.java
index eaccffa..7823184 100644
--- a/shenyu-plugin/shenyu-plugin-websocket/src/test/java/org/apache/shenyu/plugin/websocket/WebSocketPluginTest.java
+++ b/shenyu-plugin/shenyu-plugin-websocket/src/test/java/org/apache/shenyu/plugin/websocket/WebSocketPluginTest.java
@@ -20,7 +20,7 @@ package org.apache.shenyu.plugin.websocket;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.dto.RuleData;
 import org.apache.shenyu.common.dto.SelectorData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.dto.convert.rule.RuleHandleFactory;
 import org.apache.shenyu.common.dto.convert.rule.impl.DivideRuleHandle;
 import org.apache.shenyu.common.enums.PluginEnum;
diff --git a/shenyu-web/src/test/java/org/apache/shenyu/web/controller/PluginControllerTest.java b/shenyu-web/src/test/java/org/apache/shenyu/web/controller/PluginControllerTest.java
index 9d07d5f..4f8c05c 100644
--- a/shenyu-web/src/test/java/org/apache/shenyu/web/controller/PluginControllerTest.java
+++ b/shenyu-web/src/test/java/org/apache/shenyu/web/controller/PluginControllerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.web.controller;
 
 import org.apache.shenyu.common.dto.ConditionData;
-import org.apache.shenyu.common.dto.convert.DivideUpstream;
+import org.apache.shenyu.common.dto.convert.selector.DivideUpstream;
 import org.apache.shenyu.common.dto.convert.rule.impl.DivideRuleHandle;
 import org.apache.shenyu.common.enums.LoadBalanceEnum;
 import org.apache.shenyu.common.enums.OperatorEnum;