File tree Expand file tree Collapse file tree 3 files changed +48
-0
lines changed
dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config Expand file tree Collapse file tree 3 files changed +48
-0
lines changed Original file line number Diff line number Diff line change 1+ /*
2+ * Licensed to the Apache Software Foundation (ASF) under one or more
3+ * contributor license agreements. See the NOTICE file distributed with
4+ * this work for additional information regarding copyright ownership.
5+ * The ASF licenses this file to You under the Apache License, Version 2.0
6+ * (the "License"); you may not use this file except in compliance with
7+ * the License. You may obtain a copy of the License at
8+ *
9+ * http://www.apache.org/licenses/LICENSE-2.0
10+ *
11+ * Unless required by applicable law or agreed to in writing, software
12+ * distributed under the License is distributed on an "AS IS" BASIS,
13+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+ * See the License for the specific language governing permissions and
15+ * limitations under the License.
16+ */
17+ package org .apache .dubbo .config ;
18+
19+ import org .apache .dubbo .common .extension .SPI ;
20+
21+ /**
22+ * Dynamically add some parameters / check config
23+ */
24+
25+ @ SPI
26+ public interface AppendParametersComponent {
27+ default void appendReferParameters (ReferenceConfig referenceConfig ) {
28+
29+ }
30+
31+ default void appendExportParameters (ServiceConfig serviceConfig ) {
32+
33+ }
34+ }
Original file line number Diff line number Diff line change @@ -214,6 +214,13 @@ public void checkAndUpdateSubConfigs() {
214214 resolveFile ();
215215 checkApplication ();
216216 checkMetadataReport ();
217+ appendParameters ();
218+ }
219+
220+ private void appendParameters () {
221+ URL appendParametersUrl = URL .valueOf ("appendParameters://" );
222+ List <AppendParametersComponent > appendParametersComponents = ExtensionLoader .getExtensionLoader (AppendParametersComponent .class ).getActivateExtension (appendParametersUrl , (String []) null );
223+ appendParametersComponents .forEach (component -> component .appendReferParameters (this ));
217224 }
218225
219226 public synchronized T get () {
Original file line number Diff line number Diff line change @@ -322,6 +322,13 @@ public void checkAndUpdateSubConfigs() {
322322 }
323323 checkStubAndLocal (interfaceClass );
324324 checkMock (interfaceClass );
325+ appendParameters ();
326+ }
327+
328+ private void appendParameters () {
329+ URL appendParametersUrl = URL .valueOf ("appendParameters://" );
330+ List <AppendParametersComponent > appendParametersComponents = ExtensionLoader .getExtensionLoader (AppendParametersComponent .class ).getActivateExtension (appendParametersUrl , (String []) null );
331+ appendParametersComponents .forEach (component -> component .appendExportParameters (this ));
325332 }
326333
327334 public synchronized void export () {
You can’t perform that action at this time.
0 commit comments