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

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


The following commit(s) were added to refs/heads/3.1 by this push:
     new 5308cc81bf Fix tri headerfilter 3.1 (#12070)
5308cc81bf is described below

commit 5308cc81bfb2eb22948b6287e279b4d807c5846e
Author: earthchen <[email protected]>
AuthorDate: Wed Apr 12 19:46:15 2023 +0800

    Fix tri headerfilter 3.1 (#12070)
    
    * change headerfilter scope
    
    * fix tri header filter
---
 .../java/org/apache/dubbo/rpc/HeaderFilter.java    |  3 +-
 .../rpc/protocol/tri/TripleHttp2Protocol.java      | 37 ++++++++--------------
 2 files changed, 16 insertions(+), 24 deletions(-)

diff --git 
a/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/HeaderFilter.java 
b/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/HeaderFilter.java
index e82b697f3e..983c8c5d8b 100644
--- 
a/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/HeaderFilter.java
+++ 
b/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/HeaderFilter.java
@@ -16,9 +16,10 @@
  */
 package org.apache.dubbo.rpc;
 
+import org.apache.dubbo.common.extension.ExtensionScope;
 import org.apache.dubbo.common.extension.SPI;
 
-@SPI
+@SPI(scope = ExtensionScope.FRAMEWORK)
 public interface HeaderFilter {
 
     RpcInvocation invoke(Invoker<?> invoker, RpcInvocation invocation) throws 
RpcException;
diff --git 
a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/TripleHttp2Protocol.java
 
b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/TripleHttp2Protocol.java
index 6fba53857c..692621ce04 100644
--- 
a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/TripleHttp2Protocol.java
+++ 
b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/TripleHttp2Protocol.java
@@ -17,6 +17,16 @@
 
 package org.apache.dubbo.rpc.protocol.tri;
 
+import io.netty.channel.Channel;
+import io.netty.channel.ChannelInitializer;
+import io.netty.channel.ChannelPipeline;
+import io.netty.handler.codec.http2.Http2FrameCodec;
+import io.netty.handler.codec.http2.Http2FrameCodecBuilder;
+import io.netty.handler.codec.http2.Http2FrameLogger;
+import io.netty.handler.codec.http2.Http2MultiplexHandler;
+import io.netty.handler.codec.http2.Http2Settings;
+import io.netty.handler.logging.LogLevel;
+import io.netty.handler.ssl.SslContext;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.config.Configuration;
 import org.apache.dubbo.common.config.ConfigurationUtils;
@@ -28,7 +38,6 @@ import org.apache.dubbo.remoting.api.AbstractWireProtocol;
 import org.apache.dubbo.remoting.api.pu.ChannelHandlerPretender;
 import org.apache.dubbo.remoting.api.pu.ChannelOperator;
 import org.apache.dubbo.rpc.HeaderFilter;
-import org.apache.dubbo.rpc.model.ApplicationModel;
 import org.apache.dubbo.rpc.model.FrameworkModel;
 import org.apache.dubbo.rpc.model.ScopeModelAware;
 import org.apache.dubbo.rpc.protocol.tri.transport.TripleClientHandler;
@@ -37,17 +46,6 @@ import 
org.apache.dubbo.rpc.protocol.tri.transport.TripleHttp2FrameServerHandler
 import 
org.apache.dubbo.rpc.protocol.tri.transport.TripleServerConnectionHandler;
 import org.apache.dubbo.rpc.protocol.tri.transport.TripleTailHandler;
 
-import io.netty.channel.Channel;
-import io.netty.channel.ChannelInitializer;
-import io.netty.channel.ChannelPipeline;
-import io.netty.handler.codec.http2.Http2FrameCodec;
-import io.netty.handler.codec.http2.Http2FrameCodecBuilder;
-import io.netty.handler.codec.http2.Http2FrameLogger;
-import io.netty.handler.codec.http2.Http2MultiplexHandler;
-import io.netty.handler.codec.http2.Http2Settings;
-import io.netty.handler.logging.LogLevel;
-import io.netty.handler.ssl.SslContext;
-
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -79,8 +77,6 @@ public class TripleHttp2Protocol extends AbstractWireProtocol 
implements ScopeMo
 
     private ExtensionLoader<HeaderFilter> filtersLoader;
     private FrameworkModel frameworkModel;
-    private Configuration config = ConfigurationUtils.getGlobalConfiguration(
-        ApplicationModel.defaultModel());
 
     public TripleHttp2Protocol() {
         super(new Http2ProtocolDetector());
@@ -89,12 +85,7 @@ public class TripleHttp2Protocol extends 
AbstractWireProtocol implements ScopeMo
     @Override
     public void setFrameworkModel(FrameworkModel frameworkModel) {
         this.frameworkModel = frameworkModel;
-    }
-
-    @Override
-    public void setApplicationModel(ApplicationModel applicationModel) {
-        this.config = 
ConfigurationUtils.getGlobalConfiguration(applicationModel);
-        this.filtersLoader = 
applicationModel.getExtensionLoader(HeaderFilter.class);
+        this.filtersLoader = 
frameworkModel.getExtensionLoader(HeaderFilter.class);
     }
 
     @Override
@@ -104,11 +95,10 @@ public class TripleHttp2Protocol extends 
AbstractWireProtocol implements ScopeMo
 
     @Override
     public void configServerProtocolHandler(URL url, ChannelOperator operator) 
{
-
+        Configuration config = 
ConfigurationUtils.getGlobalConfiguration(url.getOrDefaultApplicationModel());
         final List<HeaderFilter> headFilters;
         if (filtersLoader != null) {
-            headFilters = filtersLoader.getActivateExtension(url,
-                HEADER_FILTER_KEY);
+            headFilters = filtersLoader.getActivateExtension(url, 
HEADER_FILTER_KEY);
         } else {
             headFilters = Collections.emptyList();
         }
@@ -154,6 +144,7 @@ public class TripleHttp2Protocol extends 
AbstractWireProtocol implements ScopeMo
 
     @Override
     public void configClientPipeline(URL url, ChannelPipeline pipeline, 
SslContext sslContext) {
+        Configuration config = 
ConfigurationUtils.getGlobalConfiguration(url.getOrDefaultApplicationModel());
         final Http2FrameCodec codec = Http2FrameCodecBuilder.forClient()
             .gracefulShutdownTimeoutMillis(10000)
             .initialSettings(new Http2Settings().headerTableSize(

Reply via email to