diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupServiceImpl.java index 7428c342bd..ca4cc1709b 100644 --- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupServiceImpl.java +++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupServiceImpl.java @@ -215,7 +215,27 @@ public String save(InlongGroupRequest request, String operator) { if (request.getEnableZookeeper() == null) { request.setEnableZookeeper(enableZookeeper ? InlongConstants.ENABLE_ZK : InlongConstants.DISABLE_ZK); } - InlongGroupOperator instance = groupOperatorFactory.getInstance(request.getMqType()); + + if (request.getEnableCreateResource() == null) { + request.setEnableCreateResource(InlongConstants.ENABLE_CREATE_RESOURCE); + } + + if (request.getInlongGroupMode() == null) { + request.setInlongGroupMode(InlongConstants.STANDARD_MODE); + } + + String mqType = request.getMqType(); + if (InlongConstants.STANDARD_MODE.equals(request.getInlongGroupMode()) + && InlongConstants.ENABLE_CREATE_RESOURCE.equals(request.getEnableCreateResource())) { + String clusterTag = request.getInlongClusterTag(); + List clusterEntities = clusterEntityMapper.selectByKey(clusterTag, null, mqType); + if (CollectionUtils.isEmpty(clusterEntities)) { + throw new BusinessException(String.format("cannot find any cluster by tag %s and type %s", + clusterTag, mqType)); + } + } + + InlongGroupOperator instance = groupOperatorFactory.getInstance(mqType); groupId = instance.saveOpt(request, operator); // save ext info