reject application scope config in dubbo 2.6
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ConditionRoutesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ConditionRoutesController.java
index 1dd9650..c5ca576 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ConditionRoutesController.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ConditionRoutesController.java
@@ -20,7 +20,9 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.dubbo.admin.common.exception.ParamValidationException;
import org.apache.dubbo.admin.common.exception.ResourceNotFoundException;
+import org.apache.dubbo.admin.common.exception.VersionValidationException;
import org.apache.dubbo.admin.model.dto.ConditionRouteDTO;
+import org.apache.dubbo.admin.service.ProviderService;
import org.apache.dubbo.admin.service.RouteService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@@ -34,10 +36,12 @@
public class ConditionRoutesController {
private final RouteService routeService;
+ private final ProviderService providerService;
@Autowired
- public ConditionRoutesController(RouteService routeService) {
+ public ConditionRoutesController(RouteService routeService, ProviderService providerService) {
this.routeService = routeService;
+ this.providerService = providerService;
}
@RequestMapping(method = RequestMethod.POST)
@@ -48,6 +52,9 @@
if (StringUtils.isEmpty(serviceName) && StringUtils.isEmpty(app)) {
throw new ParamValidationException("serviceName and app is Empty!");
}
+ if (StringUtils.isNotEmpty(app) && providerService.findVersionInApplication(app).equals("2.6")) {
+ throw new VersionValidationException("dubbo 2.6 does not support application scope routing rule");
+ }
routeService.createConditionRoute(routeDTO);
return true;
}
@@ -118,4 +125,4 @@
conditionRouteDTO.setKey(null);
return conditionRouteDTO;
}
-}
\ No newline at end of file
+}
diff --git a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/OverridesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/OverridesController.java
index fa57224..ac0eb6e 100644
--- a/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/OverridesController.java
+++ b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/OverridesController.java
@@ -20,8 +20,10 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.dubbo.admin.common.exception.ParamValidationException;
import org.apache.dubbo.admin.common.exception.ResourceNotFoundException;
+import org.apache.dubbo.admin.common.exception.VersionValidationException;
import org.apache.dubbo.admin.model.dto.OverrideDTO;
import org.apache.dubbo.admin.service.OverrideService;
+import org.apache.dubbo.admin.service.ProviderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
@@ -34,10 +36,12 @@
public class OverridesController {
private final OverrideService overrideService;
+ private final ProviderService providerService;
@Autowired
- public OverridesController(OverrideService overrideService) {
+ public OverridesController(OverrideService overrideService, ProviderService providerService) {
this.overrideService = overrideService;
+ this.providerService = providerService;
}
@RequestMapping(method = RequestMethod.POST)
@@ -48,6 +52,9 @@
if (StringUtils.isEmpty(serviceName) && StringUtils.isEmpty(application)) {
throw new ParamValidationException("serviceName and application are Empty!");
}
+ if (StringUtils.isNotEmpty(application) && providerService.findVersionInApplication(application).equals("2.6")) {
+ throw new VersionValidationException("dubbo 2.6 does not support application scope dynamic config");
+ }
overrideService.saveOverride(overrideDTO);
return true;
}