You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2023/07/19 07:38:18 UTC

[dubbo] 02/02: Fix conflicts

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

albumenj pushed a commit to branch 3.3
in repository https://gitbox.apache.org/repos/asf/dubbo.git

commit 80d496c5b18398fc94ea30fdb9daf8bb30154fc4
Author: Albumen Kevin <jh...@gmail.com>
AuthorDate: Wed Jul 19 15:37:20 2023 +0800

    Fix conflicts
---
 .../rpc/protocol/rest/NettyHttpRestServer.java     | 190 ---------------------
 .../rest/deploy/ServiceDeployerManager.java        |   2 +-
 .../protocol/rest/handler/NettyHttpHandler.java    |   7 -
 .../protocol/rest/pu/RestHttp1WireProtocol.java    |  10 +-
 4 files changed, 6 insertions(+), 203 deletions(-)

diff --git a/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/NettyHttpRestServer.java b/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/NettyHttpRestServer.java
deleted file mode 100644
index 092633651a..0000000000
--- a/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/NettyHttpRestServer.java
+++ /dev/null
@@ -1,190 +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.dubbo.rpc.protocol.rest;
-
-import io.netty.buffer.PooledByteBufAllocator;
-import io.netty.channel.ChannelHandler;
-import io.netty.channel.ChannelOption;
-import io.netty.handler.codec.http.HttpObjectAggregator;
-import io.netty.handler.codec.http.HttpRequestDecoder;
-import io.netty.handler.codec.http.HttpResponseEncoder;
-import org.apache.dubbo.common.URL;
-import org.apache.dubbo.common.utils.NetUtils;
-import org.apache.dubbo.metadata.rest.ServiceRestMetadata;
-import org.apache.dubbo.rpc.Invoker;
-import org.apache.dubbo.rpc.protocol.rest.constans.RestConstant;
-import org.apache.dubbo.rpc.protocol.rest.deploy.ServiceDeployer;
-import org.apache.dubbo.rpc.protocol.rest.netty.NettyServer;
-import org.apache.dubbo.rpc.protocol.rest.netty.RestHttpRequestDecoder;
-import org.apache.dubbo.rpc.protocol.rest.netty.UnSharedHandlerCreator;
-import org.apache.dubbo.rpc.protocol.rest.netty.ssl.SslServerTlsHandler;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import static org.apache.dubbo.common.constants.CommonConstants.BACKLOG_KEY;
-import static org.apache.dubbo.common.constants.CommonConstants.IO_THREADS_KEY;
-import static org.apache.dubbo.remoting.Constants.BIND_IP_KEY;
-import static org.apache.dubbo.remoting.Constants.BIND_PORT_KEY;
-import static org.apache.dubbo.remoting.Constants.DEFAULT_IO_THREADS;
-
-/**
- * netty http server
- */
-public class NettyHttpRestServer implements RestProtocolServer {
-
-    private ServiceDeployer serviceDeployer = new ServiceDeployer();
-    private NettyServer server = getNettyServer();
-
-    /**
-     * for triple override
-     *
-     * @return
-     */
-    protected NettyServer getNettyServer() {
-        return new NettyServer();
-    }
-
-    private String address;
-
-    private final Map<String, Object> attributes = new ConcurrentHashMap<>();
-
-
-    @Override
-    public String getAddress() {
-        return address;
-    }
-
-    @Override
-    public void setAddress(String address) {
-
-        this.address = address;
-    }
-
-    @Override
-    public void close() {
-        server.stop();
-
-    }
-
-    @Override
-    public Map<String, Object> getAttributes() {
-        return attributes;
-    }
-
-    @Override
-    public void start(URL url) {
-
-        registerExtension(url);
-
-        String bindIp = url.getParameter(BIND_IP_KEY, url.getHost());
-        if (!url.isAnyHost() && NetUtils.isValidLocalHost(bindIp)) {
-            server.setHostname(bindIp);
-        }
-        server.setPort(url.getParameter(BIND_PORT_KEY, url.getPort()));
-
-        // child options
-        server.setChildChannelOptions(getChildChannelOptionMap(url));
-
-        // set options
-        server.setChannelOptions(getChannelOptionMap(url));
-        // set unshared callback
-        server.setUnSharedHandlerCallBack(getUnSharedHttpChannelHandlers());
-        // set channel handler  and @Shared
-        server.setChannelHandlers(getChannelHandlers(url));
-        server.setIoWorkerCount(url.getParameter(IO_THREADS_KEY, DEFAULT_IO_THREADS));
-        server.start(url);
-    }
-
-    private UnSharedHandlerCreator getUnSharedHttpChannelHandlers() {
-        return new UnSharedHandlerCreator() {
-            @Override
-            public List<ChannelHandler> getUnSharedHandlers(URL url) {
-                return Arrays.asList(
-                    //  add SslServerTlsHandler
-                    new SslServerTlsHandler(url),
-                    new HttpRequestDecoder(
-                        url.getParameter(RestConstant.MAX_INITIAL_LINE_LENGTH_PARAM, RestConstant.MAX_INITIAL_LINE_LENGTH),
-                        url.getParameter(RestConstant.MAX_HEADER_SIZE_PARAM, RestConstant.MAX_HEADER_SIZE),
-                        url.getParameter(RestConstant.MAX_CHUNK_SIZE_PARAM, RestConstant.MAX_CHUNK_SIZE)),
-                    new HttpObjectAggregator(url.getParameter(RestConstant.MAX_REQUEST_SIZE_PARAM, RestConstant.MAX_REQUEST_SIZE)),
-                    new HttpResponseEncoder(), new RestHttpRequestDecoder(url, serviceDeployer))
-                    ;
-            }
-        };
-    }
-
-    /**
-     * create child channel options map
-     *
-     * @param url
-     * @return
-     */
-    protected Map<ChannelOption, Object> getChildChannelOptionMap(URL url) {
-        Map<ChannelOption, Object> channelOption = new HashMap<>();
-        channelOption.put(ChannelOption.SO_KEEPALIVE, url.getParameter(Constants.KEEP_ALIVE_KEY, Constants.DEFAULT_KEEP_ALIVE));
-        return channelOption;
-    }
-
-    /**
-     * create channel options map
-     *
-     * @param url
-     * @return
-     */
-    protected Map<ChannelOption, Object> getChannelOptionMap(URL url) {
-        Map<ChannelOption, Object> options = new HashMap<>();
-
-        options.put(ChannelOption.SO_REUSEADDR, Boolean.TRUE);
-        options.put(ChannelOption.TCP_NODELAY, Boolean.TRUE);
-        options.put(ChannelOption.SO_BACKLOG, url.getPositiveParameter(BACKLOG_KEY, org.apache.dubbo.remoting.Constants.DEFAULT_BACKLOG));
-        options.put(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT);
-        return options;
-    }
-
-    /**
-     * create channel handler
-     *
-     * @param url
-     * @return
-     */
-    protected List<ChannelHandler> getChannelHandlers(URL url) {
-        List<ChannelHandler> channelHandlers = new ArrayList<>();
-
-        return channelHandlers;
-    }
-
-    @Override
-    public void deploy(ServiceRestMetadata serviceRestMetadata, Invoker invoker) {
-        serviceDeployer.deploy(serviceRestMetadata, invoker);
-    }
-
-    @Override
-    public void undeploy(ServiceRestMetadata serviceRestMetadata) {
-        serviceDeployer.undeploy(serviceRestMetadata);
-    }
-
-    private void registerExtension(URL url) {
-        serviceDeployer.registerExtension(url);
-    }
-
-
-}
diff --git a/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/deploy/ServiceDeployerManager.java b/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/deploy/ServiceDeployerManager.java
index 5c28663e76..6b3e374611 100644
--- a/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/deploy/ServiceDeployerManager.java
+++ b/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/deploy/ServiceDeployerManager.java
@@ -50,7 +50,7 @@ public class ServiceDeployerManager {
         newServiceDeployer.deploy(serviceRestMetadata, invoker);
 
         // register exception mapper
-        newServiceDeployer.registerExceptionMapper(currentURL);
+        newServiceDeployer.registerExtension(currentURL);
 
         // not new URL
         if (!isNewCreate.get()) {
diff --git a/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/handler/NettyHttpHandler.java b/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/handler/NettyHttpHandler.java
index c68d1313f8..b179cc939e 100644
--- a/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/handler/NettyHttpHandler.java
+++ b/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/handler/NettyHttpHandler.java
@@ -22,7 +22,6 @@ import org.apache.dubbo.common.logger.LoggerFactory;
 import org.apache.dubbo.remoting.http.HttpHandler;
 import org.apache.dubbo.rpc.RpcContext;
 import org.apache.dubbo.rpc.protocol.rest.deploy.ServiceDeployer;
-import org.apache.dubbo.rpc.protocol.rest.deploy.ServiceDeployer;
 import org.apache.dubbo.rpc.protocol.rest.exception.MediaTypeUnSupportException;
 import org.apache.dubbo.rpc.protocol.rest.exception.ParamParseException;
 import org.apache.dubbo.rpc.protocol.rest.exception.PathNoFoundException;
@@ -60,12 +59,6 @@ public class NettyHttpHandler implements HttpHandler<NettyRequestFacade, NettyHt
         restResponseFilters = new ArrayList<>(url.getOrDefaultFrameworkModel().getExtensionLoader(RestResponseFilter.class).getActivateExtensions());
     }
 
-
-    public NettyHttpHandler(ServiceDeployer serviceDeployer) {
-        this.pathAndInvokerMapper = serviceDeployer.getPathAndInvokerMapper();
-        this.exceptionMapper = serviceDeployer.getExceptionMapper();
-    }
-
     @Override
     public void handle(NettyRequestFacade requestFacade, NettyHttpResponse nettyHttpResponse) throws IOException {
 
diff --git a/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/pu/RestHttp1WireProtocol.java b/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/pu/RestHttp1WireProtocol.java
index 82c52ffcf6..7d88e97287 100644
--- a/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/pu/RestHttp1WireProtocol.java
+++ b/dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/pu/RestHttp1WireProtocol.java
@@ -16,9 +16,6 @@
  */
 package org.apache.dubbo.rpc.protocol.rest.pu;
 
-import io.netty.handler.codec.http.HttpObjectAggregator;
-import io.netty.handler.codec.http.HttpRequestDecoder;
-import io.netty.handler.codec.http.HttpResponseEncoder;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.extension.Activate;
 import org.apache.dubbo.remoting.ChannelHandler;
@@ -29,9 +26,12 @@ import org.apache.dubbo.rpc.model.FrameworkModel;
 import org.apache.dubbo.rpc.model.ScopeModelAware;
 import org.apache.dubbo.rpc.protocol.rest.constans.RestConstant;
 import org.apache.dubbo.rpc.protocol.rest.deploy.ServiceDeployer;
-import org.apache.dubbo.rpc.protocol.rest.handler.NettyHttpHandler;
 import org.apache.dubbo.rpc.protocol.rest.netty.RestHttpRequestDecoder;
 
+import io.netty.handler.codec.http.HttpObjectAggregator;
+import io.netty.handler.codec.http.HttpRequestDecoder;
+import io.netty.handler.codec.http.HttpResponseEncoder;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -68,7 +68,7 @@ public class RestHttp1WireProtocol extends AbstractWireProtocol implements Scope
                 url.getParameter(RestConstant.MAX_HEADER_SIZE_PARAM, RestConstant.MAX_HEADER_SIZE),
                 url.getParameter(RestConstant.MAX_CHUNK_SIZE_PARAM, RestConstant.MAX_CHUNK_SIZE)),
             new HttpObjectAggregator(url.getParameter(RestConstant.MAX_REQUEST_SIZE_PARAM, RestConstant.MAX_REQUEST_SIZE)),
-            new HttpResponseEncoder(), new RestHttpRequestDecoder(new NettyHttpHandler(serviceDeployer), url));
+            new HttpResponseEncoder(), new RestHttpRequestDecoder(url, serviceDeployer));
 
 
         List<ChannelHandler> handlers = new ArrayList<>();