Skip to content

Commit b20d63e

Browse files
authored
Disable all filters for internal service (#12515)
* Disable all filters for internal service * fix uts * fix uts
1 parent d606e11 commit b20d63e

File tree

6 files changed

+16
-8
lines changed

6 files changed

+16
-8
lines changed

dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/bootstrap/builders/InternalServiceConfigBuilder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,7 @@ public ServiceConfig<T> build(Consumer<ServiceConfig<T>> configConsumer){
275275
serviceConfig.setRef(this.ref);
276276
serviceConfig.setGroup(applicationConfig.getName());
277277
serviceConfig.setVersion("1.0.0");
278+
serviceConfig.setFilter("-default");
278279

279280
serviceConfig.setExecutor(executor);
280281

dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/AbstractRegistryCenterExporterListener.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.apache.dubbo.rpc.Exporter;
2020
import org.apache.dubbo.rpc.ExporterListener;
2121
import org.apache.dubbo.rpc.Filter;
22+
import org.apache.dubbo.rpc.Invoker;
2223
import org.apache.dubbo.rpc.RpcException;
2324
import org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder;
2425
import org.apache.dubbo.rpc.listener.ListenerExporterWrapper;
@@ -56,7 +57,13 @@ public abstract class AbstractRegistryCenterExporterListener implements Exporter
5657
@Override
5758
public void exported(Exporter<?> exporter) throws RpcException {
5859
ListenerExporterWrapper listenerExporterWrapper = (ListenerExporterWrapper) exporter;
59-
FilterChainBuilder.CallbackRegistrationInvoker callbackRegistrationInvoker = (FilterChainBuilder.CallbackRegistrationInvoker) listenerExporterWrapper.getInvoker();
60+
61+
Invoker invoker = listenerExporterWrapper.getInvoker();
62+
if (!(invoker instanceof FilterChainBuilder.CallbackRegistrationInvoker)) {
63+
exportedExporters.add(exporter);
64+
return;
65+
}
66+
FilterChainBuilder.CallbackRegistrationInvoker callbackRegistrationInvoker = (FilterChainBuilder.CallbackRegistrationInvoker) invoker;
6067
if (callbackRegistrationInvoker == null ||
6168
callbackRegistrationInvoker.getInterface() != getInterface()) {
6269
return;

dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/exportprovider/MultipleRegistryCenterExportProviderIntegrationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ private void afterExport() {
188188
// 1. InjvmExporter
189189
// 2. DubboExporter with service-discovery-registry protocol
190190
// 3. DubboExporter with registry protocol
191-
Assertions.assertEquals(exporterListener.getExportedExporters().size(), 5);
191+
Assertions.assertEquals(exporterListener.getExportedExporters().size(), 7);
192192
// The exported exporter contains MultipleRegistryCenterExportProviderFilter
193193
Assertions.assertTrue(exporterListener.getFilters().contains(filter));
194194

dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/multiple/injvm/MultipleRegistryCenterInjvmIntegrationTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ private void afterExport() {
156156
// The MultipleRegistryCenterInjvmService is exported
157157
Assertions.assertTrue(serviceListener.getExportedServices().get(0).isExported());
158158
// The exported exporter is only one
159-
Assertions.assertEquals(exporterListener.getExportedExporters().size(), 1);
159+
Assertions.assertEquals(exporterListener.getExportedExporters().size(), 3);
160160
// The exported exporter contains MultipleRegistryCenterInjvmFilter
161161
Assertions.assertTrue(exporterListener.getFilters().contains(filter));
162162
}
@@ -189,4 +189,4 @@ public void tearDown() throws IOException {
189189
serviceListener = null;
190190
logger.info(getClass().getSimpleName() + " testcase is ending...");
191191
}
192-
}
192+
}

dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/exportprovider/SingleRegistryCenterExportProviderIntegrationTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ private void afterExport() {
195195
// 1. InjvmExporter
196196
// 2. DubboExporter with service-discovery-registry protocol
197197
// 3. DubboExporter with registry protocol
198-
Assertions.assertEquals(exporterListener.getExportedExporters().size(), 3);
198+
Assertions.assertEquals(exporterListener.getExportedExporters().size(), 5);
199199
// The exported exporter contains SingleRegistryCenterExportProviderFilter
200200
Assertions.assertTrue(exporterListener.getFilters().contains(filter));
201201
// The consumer can be notified and get provider's metadata through metadata mapping info.
@@ -244,4 +244,4 @@ public void tearDown() throws IOException {
244244
logger.info(getClass().getSimpleName() + " testcase is ending...");
245245
registryProtocolListener = null;
246246
}
247-
}
247+
}

dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/integration/single/injvm/SingleRegistryCenterInjvmIntegrationTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ private void afterExport() {
156156
// The SingleRegistryCenterInjvmService is exported
157157
Assertions.assertTrue(serviceListener.getExportedServices().get(0).isExported());
158158
// The exported exporter is only one
159-
Assertions.assertEquals(exporterListener.getExportedExporters().size(), 1);
159+
Assertions.assertEquals(exporterListener.getExportedExporters().size(), 3);
160160
// The exported exporter contains SingleRegistryCenterInjvmFilter
161161
Assertions.assertTrue(exporterListener.getFilters().contains(filter));
162162
}
@@ -188,4 +188,4 @@ public void tearDown() throws IOException {
188188
serviceListener = null;
189189
logger.info(getClass().getSimpleName() + " testcase is ending...");
190190
}
191-
}
191+
}

0 commit comments

Comments
 (0)