This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch 3.2
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.2 by this push:
new 85e1f97116 change headerfilter scope (#12058)
85e1f97116 is described below
commit 85e1f971162420fc1292e0822d8533c1b96088fd
Author: earthchen <[email protected]>
AuthorDate: Tue Apr 11 14:03:41 2023 +0800
change headerfilter scope (#12058)
* change headerfilter scope
* fix
* fix import
---
.../java/org/apache/dubbo/rpc/HeaderFilter.java | 3 +-
.../rpc/protocol/tri/TripleHttp2Protocol.java | 35 ++++++++--------------
2 files changed, 15 insertions(+), 23 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 69259ead06..8daa1f600f 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,15 @@
package org.apache.dubbo.rpc.protocol.tri;
+import io.netty.channel.ChannelInitializer;
+import io.netty.channel.ChannelPipeline;
+import io.netty.handler.codec.http2.Http2FrameCodec;
+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.codec.http2.Http2StreamChannel;
+import io.netty.handler.flush.FlushConsolidationHandler;
+import io.netty.handler.logging.LogLevel;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.common.config.Configuration;
import org.apache.dubbo.common.config.ConfigurationUtils;
@@ -30,7 +39,6 @@ import org.apache.dubbo.remoting.api.pu.ChannelOperator;
import org.apache.dubbo.remoting.api.ssl.ContextOperator;
import org.apache.dubbo.rpc.HeaderFilter;
import org.apache.dubbo.rpc.executor.ExecutorSupport;
-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;
@@ -40,16 +48,6 @@ import
org.apache.dubbo.rpc.protocol.tri.transport.TripleServerConnectionHandler
import org.apache.dubbo.rpc.protocol.tri.transport.TripleTailHandler;
import org.apache.dubbo.rpc.protocol.tri.transport.TripleWriteQueue;
-import io.netty.channel.ChannelInitializer;
-import io.netty.channel.ChannelPipeline;
-import io.netty.handler.codec.http2.Http2FrameCodec;
-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.codec.http2.Http2StreamChannel;
-import io.netty.handler.flush.FlushConsolidationHandler;
-import io.netty.handler.logging.LogLevel;
-
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -80,8 +78,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());
@@ -90,12 +86,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
@@ -105,11 +96,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();
}
@@ -153,6 +143,7 @@ public class TripleHttp2Protocol extends
AbstractWireProtocol implements ScopeMo
@Override
public void configClientPipeline(URL url, ChannelOperator operator,
ContextOperator contextOperator) {
+ Configuration config =
ConfigurationUtils.getGlobalConfiguration(url.getOrDefaultApplicationModel());
final Http2FrameCodec codec = TripleHttp2FrameCodecBuilder.forClient()
.customizeConnection((connection) ->
connection.remote().flowController(new TriHttp2RemoteFlowController(connection,
url.getOrDefaultApplicationModel())))
.gracefulShutdownTimeoutMillis(10000)