mirror of https://github.com/alibaba/nacos.git
[ISSUE#12979]Correct serviceloader and fix pmd. (#13086)
renamed: client/src/main/resources/META-INF/services/com.alibaba.nacos.client.address.ServerListProvider -> client-basic/src/main/resources/META-INF/services/com.alibaba.nacos.client.address.ServerListProvider renamed: client/src/test/resources/META-INF/services/com.alibaba.nacos.client.address.ServerListProvider -> client-basic/src/test/resources/META-INF/services/com.alibaba.nacos.client.address.ServerListProvider modified: maintainer-client/pom.xml modified: maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/NacosMaintainerFactory.java modified: maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/address/DefaultServerListManager.java modified: maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/config/ConfigMaintainerFactory.java modified: maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/config/ConfigMaintainerService.java renamed: maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/config/NacosConfigMaintainerService.java -> maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/config/NacosConfigMaintainerServiceImpl.java modified: maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/model/core/ServerLoaderMetrics.java modified: maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/model/naming/SwitchDomain.java renamed: maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/naming/NacosNamingMaintainerService.java -> maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/naming/NacosNamingMaintainerServiceImpl.java modified: maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/naming/NamingMaintainerFactory.java modified: maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/naming/NamingMaintainerService.java modified: maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/remote/ClientHttpProxy.java modified: maintainer-client/src/main/java/com/alibaba/nacos/maintainer/client/utils/ParamUtil.java modified: maintainer-client/src/test/java/com/alibaba/nacos/maintainer/client/config/ConfigMaintainerFactoryTest.java renamed: maintainer-client/src/test/java/com/alibaba/nacos/maintainer/client/config/NacosConfigMaintainerServiceTest.java -> maintainer-client/src/test/java/com/alibaba/nacos/maintainer/client/config/NacosConfigMaintainerServiceImplTest.java renamed: maintainer-client/src/test/java/com/alibaba/nacos/maintainer/client/naming/NacosNamingMaintainerServiceTest.java -> maintainer-client/src/test/java/com/alibaba/nacos/maintainer/client/naming/NacosNamingMaintainerServiceImplTest.java modified: maintainer-client/src/test/java/com/alibaba/nacos/maintainer/client/naming/NamingMaintainerFactoryTest.java modified: maintainer-client/src/test/java/com/alibaba/nacos/maintainer/client/remote/ClientHttpProxyTest.java new file: maintainer-client/src/test/java/com/alibaba/nacos/maintainer/client/remote/mock/MockServerListProvider.java modified: maintainer-client/src/test/java/com/alibaba/nacos/maintainer/client/utils/ParamUtilTest.java new file: maintainer-client/src/test/resources/META-INF/services/com.alibaba.nacos.client.address.ServerListProvider
This commit is contained in:
parent
1993d0d82d
commit
e4dfa2f7be
|
@ -40,10 +40,6 @@
|
|||
<groupId>commons-collections</groupId>
|
||||
<artifactId>commons-collections</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.nacos</groupId>
|
||||
<artifactId>nacos-common</artifactId>
|
||||
|
|
|
@ -29,8 +29,7 @@ import java.util.Properties;
|
|||
*/
|
||||
public class NacosMaintainerFactory {
|
||||
|
||||
public static ConfigMaintainerService createConfigMaintainerService(String serverList)
|
||||
throws NacosException, NacosException {
|
||||
public static ConfigMaintainerService createConfigMaintainerService(String serverList) throws NacosException {
|
||||
return ConfigMaintainerFactory.createConfigMaintainerService(serverList);
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,6 @@ import com.alibaba.nacos.common.utils.StringUtils;
|
|||
import com.alibaba.nacos.maintainer.client.remote.HttpClientManager;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
@ -37,7 +36,6 @@ import java.util.Random;
|
|||
*
|
||||
* @author Nacos
|
||||
*/
|
||||
@Service
|
||||
public class DefaultServerListManager extends AbstractServerListManager {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(DefaultServerListManager.class);
|
||||
|
|
|
@ -37,7 +37,7 @@ public class ConfigMaintainerFactory {
|
|||
public static ConfigMaintainerService createConfigMaintainerService(String serverList) throws NacosException {
|
||||
Properties properties = new Properties();
|
||||
properties.setProperty("serverAddr", serverList);
|
||||
return new NacosConfigMaintainerService(properties);
|
||||
return new NacosConfigMaintainerServiceImpl(properties);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -51,6 +51,6 @@ public class ConfigMaintainerFactory {
|
|||
if (properties == null) {
|
||||
throw new NacosException(NacosException.INVALID_PARAM, "Properties cannot be null");
|
||||
}
|
||||
return new NacosConfigMaintainerService(properties);
|
||||
return new NacosConfigMaintainerServiceImpl(properties);
|
||||
}
|
||||
}
|
|
@ -17,7 +17,6 @@
|
|||
package com.alibaba.nacos.maintainer.client.config;
|
||||
|
||||
import com.alibaba.nacos.api.exception.NacosException;
|
||||
import com.alibaba.nacos.api.exception.api.NacosApiException;
|
||||
import com.alibaba.nacos.maintainer.client.model.config.Capacity;
|
||||
import com.alibaba.nacos.maintainer.client.model.config.ConfigAdvanceInfo;
|
||||
import com.alibaba.nacos.maintainer.client.model.config.ConfigAllInfo;
|
||||
|
@ -33,9 +32,6 @@ import com.alibaba.nacos.maintainer.client.model.core.Connection;
|
|||
import com.alibaba.nacos.maintainer.client.model.core.IdGeneratorVO;
|
||||
import com.alibaba.nacos.maintainer.client.model.core.Member;
|
||||
import com.alibaba.nacos.maintainer.client.model.core.ServerLoaderMetrics;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.context.request.async.DeferredResult;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
@ -56,7 +52,7 @@ public interface ConfigMaintainerService {
|
|||
* @return Configuration information.
|
||||
* @throws NacosException If the query fails.
|
||||
*/
|
||||
ConfigAllInfo getConfig(String dataId, String groupName) throws Exception;
|
||||
ConfigAllInfo getConfig(String dataId, String groupName) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get configuration information by dataId, groupName, and namespaceId.
|
||||
|
@ -67,7 +63,7 @@ public interface ConfigMaintainerService {
|
|||
* @return Configuration information.
|
||||
* @throws NacosException If the query fails.
|
||||
*/
|
||||
ConfigAllInfo getConfig(String dataId, String groupName, String namespaceId) throws Exception;
|
||||
ConfigAllInfo getConfig(String dataId, String groupName, String namespaceId) throws NacosException;
|
||||
|
||||
/**
|
||||
* Publish a configuration by dataId and groupName.
|
||||
|
@ -78,7 +74,7 @@ public interface ConfigMaintainerService {
|
|||
* @return Whether the configuration was published successfully.
|
||||
* @throws NacosException If the publish operation fails.
|
||||
*/
|
||||
boolean publishConfig(String dataId, String groupName, String content) throws Exception;
|
||||
boolean publishConfig(String dataId, String groupName, String content) throws NacosException;
|
||||
|
||||
/**
|
||||
* Publish a configuration by dataId, groupName, and namespaceId.
|
||||
|
@ -90,30 +86,30 @@ public interface ConfigMaintainerService {
|
|||
* @return Whether the configuration was published successfully.
|
||||
* @throws NacosException If the publish operation fails.
|
||||
*/
|
||||
boolean publishConfig(String dataId, String groupName, String namespaceId, String content) throws Exception;
|
||||
boolean publishConfig(String dataId, String groupName, String namespaceId, String content) throws NacosException;
|
||||
|
||||
/**
|
||||
* Publish a configuration.
|
||||
* Publish a configuration with additional metadata.
|
||||
*
|
||||
* @param dataId Configuration data ID (required)
|
||||
* @param groupName Configuration group name (required)
|
||||
* @param namespaceId Namespace ID (optional, default is "public")
|
||||
* @param content Configuration content (required)
|
||||
* @param tag Configuration tag (optional)
|
||||
* @param appName Application name (optional)
|
||||
* @param srcUser Source user (optional)
|
||||
* @param configTags Configuration tags, multiple tags separated by commas (optional)
|
||||
* @param desc Configuration description (optional)
|
||||
* @param use Configuration usage (optional)
|
||||
* @param effect Configuration effect (optional)
|
||||
* @param type Configuration type (optional)
|
||||
* @param schema Configuration schema (optional)
|
||||
* @return Whether the configuration was published successfully
|
||||
* @throws NacosException If publishing fails
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
* @param namespaceId Namespace ID (optional, defaults to "public").
|
||||
* @param content Configuration content (required).
|
||||
* @param tag Configuration tag (optional).
|
||||
* @param appName Application name (optional).
|
||||
* @param srcUser Source user (optional).
|
||||
* @param configTags Configuration tags, multiple tags separated by commas (optional).
|
||||
* @param desc Configuration description (optional).
|
||||
* @param use Configuration usage (optional).
|
||||
* @param effect Configuration effect (optional).
|
||||
* @param type Configuration type (optional).
|
||||
* @param schema Configuration schema (optional).
|
||||
* @return Whether the configuration was published successfully.
|
||||
* @throws NacosException If publishing fails.
|
||||
*/
|
||||
boolean publishConfig(String dataId, String groupName, String namespaceId, String content, String tag, String appName,
|
||||
String srcUser, String configTags, String desc, String use, String effect, String type, String schema)
|
||||
throws Exception;
|
||||
boolean publishConfig(String dataId, String groupName, String namespaceId, String content, String tag,
|
||||
String appName, String srcUser, String configTags, String desc, String use, String effect, String type,
|
||||
String schema) throws NacosException;
|
||||
|
||||
/**
|
||||
* Delete a configuration by dataId and groupName.
|
||||
|
@ -123,21 +119,21 @@ public interface ConfigMaintainerService {
|
|||
* @return Whether the configuration was deleted successfully.
|
||||
* @throws NacosException If deletion fails.
|
||||
*/
|
||||
boolean deleteConfig(String dataId, String groupName) throws Exception;
|
||||
boolean deleteConfig(String dataId, String groupName) throws NacosException;
|
||||
|
||||
/**
|
||||
* Delete a configuration.
|
||||
* Delete a configuration by dataId, groupName, and namespaceId.
|
||||
*
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
* @param namespaceId Namespace ID (optional, defaults to "public").
|
||||
* @return Whether the configuration was deleted successfully.
|
||||
* @throws Exception If deletion fails.
|
||||
* @throws NacosException If deletion fails.
|
||||
*/
|
||||
boolean deleteConfig(String dataId, String groupName, String namespaceId) throws Exception;
|
||||
boolean deleteConfig(String dataId, String groupName, String namespaceId) throws NacosException;
|
||||
|
||||
/**
|
||||
* Delete a configuration.
|
||||
* Delete a configuration by dataId, groupName, namespaceId, and tag.
|
||||
*
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
|
@ -146,29 +142,29 @@ public interface ConfigMaintainerService {
|
|||
* @return Whether the configuration was deleted successfully.
|
||||
* @throws NacosException If deletion fails.
|
||||
*/
|
||||
boolean deleteConfig(String dataId, String groupName, String namespaceId, String tag) throws Exception;
|
||||
boolean deleteConfig(String dataId, String groupName, String namespaceId, String tag) throws NacosException;
|
||||
|
||||
/**
|
||||
* Delete multiple configurations.
|
||||
* Delete multiple configurations by their IDs.
|
||||
*
|
||||
* @param ids List of configuration IDs to delete.
|
||||
* @return Whether the configurations were deleted successfully.
|
||||
* @throws NacosException If deletion fails.
|
||||
*/
|
||||
boolean deleteConfigs(List<Long> ids) throws Exception;
|
||||
boolean deleteConfigs(List<Long> ids) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get the advanced information of a configuration.
|
||||
* Get the advanced information of a configuration by dataId and groupName.
|
||||
*
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
* @return Advanced information of the configuration.
|
||||
* @throws NacosException If retrieval fails.
|
||||
*/
|
||||
ConfigAdvanceInfo getConfigAdvanceInfo(String dataId, String groupName) throws Exception;
|
||||
ConfigAdvanceInfo getConfigAdvanceInfo(String dataId, String groupName) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get the advanced information of a configuration.
|
||||
* Get the advanced information of a configuration by dataId, groupName, and namespaceId.
|
||||
*
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
|
@ -176,37 +172,37 @@ public interface ConfigMaintainerService {
|
|||
* @return Advanced information of the configuration.
|
||||
* @throws NacosException If retrieval fails.
|
||||
*/
|
||||
ConfigAdvanceInfo getConfigAdvanceInfo(String dataId, String groupName, String namespaceId) throws Exception;
|
||||
ConfigAdvanceInfo getConfigAdvanceInfo(String dataId, String groupName, String namespaceId) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get the listeners of a configuration.
|
||||
* Get the listeners of a configuration by dataId and groupName.
|
||||
*
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
* @return List of listeners for the configuration.
|
||||
* @throws Exception If retrieval fails.
|
||||
* @throws NacosException If retrieval fails.
|
||||
*/
|
||||
GroupkeyListenserStatus getListeners(String dataId, String groupName) throws Exception;
|
||||
GroupkeyListenserStatus getListeners(String dataId, String groupName) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get the advanced information of a configuration.
|
||||
* Get the listeners of a configuration by dataId, groupName, namespaceId, and sampleTime.
|
||||
*
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
* @param namespaceId Namespace ID (optional, defaults to "public").
|
||||
* @param sampleTime Sample time (optional).
|
||||
* @return Advanced information of the configuration.
|
||||
* @return List of listeners for the configuration.
|
||||
* @throws NacosException If retrieval fails.
|
||||
*/
|
||||
GroupkeyListenserStatus getListeners(String dataId, String groupName, String namespaceId, int sampleTime) throws Exception;
|
||||
|
||||
GroupkeyListenserStatus getListeners(String dataId, String groupName, String namespaceId, int sampleTime)
|
||||
throws NacosException;
|
||||
|
||||
/**
|
||||
* Search configurations by details.
|
||||
*
|
||||
* @param namespaceId Namespace ID (optional, defaults to "public").
|
||||
* @param dataId Configuration data ID (optional, defaults to "").
|
||||
* @param groupName Configuration group name (optional, defaults to "").
|
||||
* @param namespaceId Namespace ID (optional, defaults to "public").
|
||||
* @param configDetail Configuration detail (optional).
|
||||
* @param search Search mode ("blur" or "exact", optional, defaults to "blur").
|
||||
* @param pageNo Page number (required, defaults to 1).
|
||||
|
@ -215,20 +211,20 @@ public interface ConfigMaintainerService {
|
|||
* @throws NacosException If the search fails.
|
||||
*/
|
||||
Page<ConfigInfo> searchConfigByDetails(String dataId, String groupName, String namespaceId, String configDetail,
|
||||
String search, int pageNo, int pageSize) throws Exception;
|
||||
|
||||
String search, int pageNo, int pageSize) throws NacosException;
|
||||
|
||||
/**
|
||||
* Stop a beta configuration.
|
||||
* Stop a beta configuration by dataId and groupName.
|
||||
*
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
* @return Whether the beta configuration was stopped successfully.
|
||||
* @throws NacosException If stopping fails.
|
||||
*/
|
||||
boolean stopBeta(String dataId, String groupName) throws Exception;
|
||||
boolean stopBeta(String dataId, String groupName) throws NacosException;
|
||||
|
||||
/**
|
||||
* Stop a beta configuration.
|
||||
* Stop a beta configuration by dataId, groupName, and namespaceId.
|
||||
*
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
|
@ -236,7 +232,7 @@ public interface ConfigMaintainerService {
|
|||
* @return Whether the beta configuration was stopped successfully.
|
||||
* @throws NacosException If stopping fails.
|
||||
*/
|
||||
boolean stopBeta(String dataId, String groupName, String namespaceId) throws Exception;
|
||||
boolean stopBeta(String dataId, String groupName, String namespaceId) throws NacosException;
|
||||
|
||||
/**
|
||||
* Query beta configuration by dataId and groupName.
|
||||
|
@ -246,7 +242,7 @@ public interface ConfigMaintainerService {
|
|||
* @return Beta configuration information.
|
||||
* @throws NacosException If the query fails.
|
||||
*/
|
||||
ConfigInfo4Beta queryBeta(String dataId, String groupName) throws Exception;
|
||||
ConfigInfo4Beta queryBeta(String dataId, String groupName) throws NacosException;
|
||||
|
||||
/**
|
||||
* Query beta configuration by dataId, groupName, and namespaceId.
|
||||
|
@ -257,49 +253,23 @@ public interface ConfigMaintainerService {
|
|||
* @return Beta configuration information.
|
||||
* @throws NacosException If the query fails.
|
||||
*/
|
||||
ConfigInfo4Beta queryBeta(String dataId, String groupName, String namespaceId) throws Exception;
|
||||
|
||||
/**
|
||||
* Import and publish configurations from a file.
|
||||
*
|
||||
* @param namespaceId Namespace ID (optional, defaults to "public").
|
||||
* @param srcUser Source user (optional).
|
||||
* @param policy Conflict resolution policy (required).
|
||||
* @param file Configuration file to import (required).
|
||||
* @return A map containing the import result (e.g., success count, unrecognized data).
|
||||
* @throws NacosException If the import fails.
|
||||
*/
|
||||
Map<String, Object> importAndPublishConfig(String namespaceId, String srcUser, SameConfigPolicy policy, MultipartFile file)
|
||||
throws Exception;
|
||||
|
||||
/**
|
||||
* Export configurations as a zip file.
|
||||
*
|
||||
* @param dataId Configuration data ID (optional).
|
||||
* @param groupName Configuration group name (optional).
|
||||
* @param namespaceId Namespace ID (optional, defaults to "public").
|
||||
* @param ids List of configuration IDs to export (optional).
|
||||
* @return A ResponseEntity containing the exported zip file.
|
||||
* @throws NacosException If the export fails.
|
||||
*/
|
||||
ResponseEntity<byte[]> exportConfig(String dataId, String groupName, String namespaceId, List<Long> ids)
|
||||
throws Exception;
|
||||
ConfigInfo4Beta queryBeta(String dataId, String groupName, String namespaceId) throws NacosException;
|
||||
|
||||
/**
|
||||
* Clone configurations within the same namespace.
|
||||
*
|
||||
* @param namespaceId Namespace ID (optional, defaults to "public").
|
||||
* @param configBeansList List of configurations to clone (required).
|
||||
* @param srcUser Source user (optional).
|
||||
* @param policy Conflict resolution policy (required).
|
||||
* @param namespaceId Namespace ID (optional, defaults to "public").
|
||||
* @param configBeansList List of configurations to clone (required).
|
||||
* @param srcUser Source user (optional).
|
||||
* @param policy Conflict resolution policy (required).
|
||||
* @return A map containing the clone result (e.g., success count, unrecognized data).
|
||||
* @throws NacosException If the clone operation fails.
|
||||
*/
|
||||
Map<String, Object> cloneConfig(String namespaceId, List<SameNamespaceCloneConfigBean> configBeansList, String srcUser, SameConfigPolicy policy)
|
||||
throws Exception;
|
||||
Map<String, Object> cloneConfig(String namespaceId, List<SameNamespaceCloneConfigBean> configBeansList,
|
||||
String srcUser, SameConfigPolicy policy) throws NacosException;
|
||||
|
||||
/**
|
||||
* Query the list of configuration history.
|
||||
* Query the list of configuration history by dataId, groupName, namespaceId, pageNo, and pageSize.
|
||||
*
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
|
@ -307,45 +277,45 @@ public interface ConfigMaintainerService {
|
|||
* @param pageNo Page number (required).
|
||||
* @param pageSize Page size (required, max 500).
|
||||
* @return A paginated list of configuration history.
|
||||
* @throws NacosApiException If the query fails.
|
||||
* @throws NacosException If the query fails.
|
||||
*/
|
||||
Page<ConfigHistoryInfo> listConfigHistory(String dataId, String groupName, String namespaceId, int pageNo, int pageSize)
|
||||
throws Exception;
|
||||
Page<ConfigHistoryInfo> listConfigHistory(String dataId, String groupName, String namespaceId, int pageNo,
|
||||
int pageSize) throws NacosException;
|
||||
|
||||
/**
|
||||
* Query detailed configuration history information.
|
||||
* Query detailed configuration history information by dataId, groupName, namespaceId, and nid.
|
||||
*
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
* @param namespaceId Namespace ID (optional, defaults to "public").
|
||||
* @param nid History record ID (required).
|
||||
* @return Detailed configuration history information.
|
||||
* @throws NacosApiException If the history record does not exist or the query fails.
|
||||
* @throws NacosException If the history record does not exist or the query fails.
|
||||
*/
|
||||
ConfigHistoryInfo getConfigHistoryInfo(String dataId, String groupName, String namespaceId, Long nid)
|
||||
throws Exception;
|
||||
throws NacosException;
|
||||
|
||||
/**
|
||||
* Query previous configuration history information.
|
||||
* Query previous configuration history information by dataId, groupName, namespaceId, and id.
|
||||
*
|
||||
* @param dataId Configuration data ID (required).
|
||||
* @param groupName Configuration group name (required).
|
||||
* @param namespaceId Namespace ID (optional, defaults to "public").
|
||||
* @param id Current history record ID (required).
|
||||
* @return Previous configuration history information.
|
||||
* @throws NacosApiException If the previous history record does not exist or the query fails.
|
||||
* @throws NacosException If the previous history record does not exist or the query fails.
|
||||
*/
|
||||
ConfigHistoryInfo getPreviousConfigHistoryInfo(String dataId, String groupName, String namespaceId, Long id)
|
||||
throws Exception;
|
||||
throws NacosException;
|
||||
|
||||
/**
|
||||
* Query configurations list by namespace.
|
||||
*
|
||||
* @param namespaceId Namespace ID (required).
|
||||
* @return A list of configurations in the specified namespace.
|
||||
* @throws NacosApiException If the namespace is invalid or the query fails.
|
||||
* @throws NacosException If the namespace is invalid or the query fails.
|
||||
*/
|
||||
List<ConfigInfoWrapper> getConfigListByNamespace(String namespaceId) throws Exception;
|
||||
List<ConfigInfoWrapper> getConfigListByNamespace(String namespaceId) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get capacity information for a specific group or namespace.
|
||||
|
@ -353,31 +323,32 @@ public interface ConfigMaintainerService {
|
|||
* @param groupName Group name (optional).
|
||||
* @param namespaceId Namespace ID (optional).
|
||||
* @return Capacity information.
|
||||
* @throws NacosApiException If the query fails or parameters are invalid.
|
||||
* @throws NacosException If the query fails or parameters are invalid.
|
||||
*/
|
||||
Capacity getCapacityWithDefault(String groupName, String namespaceId) throws Exception;
|
||||
Capacity getCapacityWithDefault(String groupName, String namespaceId) throws NacosException;
|
||||
|
||||
/**
|
||||
* Insert or update capacity information.
|
||||
*
|
||||
* @param groupName Group name (required).
|
||||
* @param namespaceId Namespace ID (required).
|
||||
* @param quota Quota value (required).
|
||||
* @param maxSize Maximum size (required).
|
||||
* @param maxAggrCount Maximum aggregation count (required).
|
||||
* @param maxAggrSize Maximum aggregation size (required).
|
||||
* @param groupName Group name (required).
|
||||
* @param namespaceId Namespace ID (required).
|
||||
* @param quota Quota value (required).
|
||||
* @param maxSize Maximum size (required).
|
||||
* @param maxAggrCount Maximum aggregation count (required).
|
||||
* @param maxAggrSize Maximum aggregation size (required).
|
||||
* @return Whether the operation was successful.
|
||||
* @throws NacosApiException If the operation fails.
|
||||
* @throws NacosException If the operation fails.
|
||||
*/
|
||||
boolean insertOrUpdateCapacity(String groupName, String namespaceId, Integer quota, Integer maxSize,
|
||||
Integer maxAggrCount, Integer maxAggrSize) throws Exception;
|
||||
Integer maxAggrCount, Integer maxAggrSize) throws NacosException;
|
||||
|
||||
/**
|
||||
* Manually trigger dump of local configuration files from the store.
|
||||
*
|
||||
* @return A success message or error details.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
String updateLocalCacheFromStore() throws Exception;
|
||||
String updateLocalCacheFromStore() throws NacosException;
|
||||
|
||||
/**
|
||||
* Set the log level for a specific module.
|
||||
|
@ -385,36 +356,31 @@ public interface ConfigMaintainerService {
|
|||
* @param logName Name of the log module (required).
|
||||
* @param logLevel Desired log level (required).
|
||||
* @return A success message or error details.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
String setLogLevel(String logName, String logLevel) throws Exception;
|
||||
String setLogLevel(String logName, String logLevel) throws NacosException;
|
||||
|
||||
/**
|
||||
* Execute a SQL query on the embedded Derby database.
|
||||
*
|
||||
* @param sql SQL query to execute (required).
|
||||
* @return Query results or an error message.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
Object derbyOps(String sql) throws Exception;
|
||||
Object derbyOps(String sql) throws NacosException;
|
||||
|
||||
/**
|
||||
* Import data into the embedded Derby database from a file.
|
||||
*
|
||||
* @param multipartFile File containing the data to import (required).
|
||||
* @return A deferred result indicating success or failure.
|
||||
*/
|
||||
DeferredResult<String> importDerby(MultipartFile multipartFile) throws Exception;
|
||||
|
||||
/**
|
||||
* Get all subscribed client configurations by IP.
|
||||
* Get the status of all subscriptions for a specific IP.
|
||||
*
|
||||
* @param ip Client IP address (required).
|
||||
* @param all Whether to retrieve all configurations (optional, default is false).
|
||||
* @param all Whether to include all subscriptions (optional, defaults to false).
|
||||
* @param namespaceId Namespace ID (optional).
|
||||
* @param sampleTime Sampling time in seconds (optional, default is 1).
|
||||
* @return Client subscription status.
|
||||
* @param sampleTime Sample time (optional, defaults to 0).
|
||||
* @return the subscription status.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
GroupkeyListenserStatus getAllSubClientConfigByIp(String ip, boolean all, String namespaceId, int sampleTime)
|
||||
throws Exception;
|
||||
throws NacosException;
|
||||
|
||||
/**
|
||||
* Get client metrics for a specific IP.
|
||||
|
@ -423,10 +389,11 @@ public interface ConfigMaintainerService {
|
|||
* @param dataId Configuration data ID (optional).
|
||||
* @param groupName Configuration group name (optional).
|
||||
* @param namespaceId Namespace ID (optional).
|
||||
* @return Client metrics.
|
||||
* @throws NacosException If the operation fails.
|
||||
* @return a map containing the client metrics.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
Map<String, Object> getClientMetrics(String ip, String dataId, String groupName, String namespaceId) throws Exception;
|
||||
Map<String, Object> getClientMetrics(String ip, String dataId, String groupName, String namespaceId)
|
||||
throws NacosException;
|
||||
|
||||
/**
|
||||
* Get cluster-wide metrics for a specific IP.
|
||||
|
@ -435,118 +402,129 @@ public interface ConfigMaintainerService {
|
|||
* @param dataId Configuration data ID (optional).
|
||||
* @param groupName Configuration group name (optional).
|
||||
* @param namespaceId Namespace ID (optional).
|
||||
* @return Cluster-wide metrics.
|
||||
* @throws NacosException If the operation fails.
|
||||
* @return a map containing the cluster-wide metrics.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
Map<String, Object> getClusterMetrics(String ip, String dataId, String groupName, String namespaceId)
|
||||
throws Exception;
|
||||
throws NacosException;
|
||||
|
||||
// ------------------------- Core Operations -------------------------
|
||||
|
||||
/**
|
||||
* Execute a Raft operation with the specified command, value, and group ID.
|
||||
*
|
||||
* @param command the command to execute
|
||||
* @param value the value associated with the command
|
||||
* @param groupId the group ID for the operation
|
||||
* @return the result of the Raft operation
|
||||
* @param command the command to execute.
|
||||
* @param value the value associated with the command.
|
||||
* @param groupId the group ID for the operation.
|
||||
* @return the result of the Raft operation.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
String raftOps(String command, String value, String groupId) throws Exception;
|
||||
String raftOps(String command, String value, String groupId) throws NacosException;
|
||||
|
||||
/**
|
||||
* Retrieve the current health status of the ID generator.
|
||||
*
|
||||
* @return a list of ID generator status objects
|
||||
* @return a list of ID generator status objects.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
List<IdGeneratorVO> getIdsHealth() throws Exception;
|
||||
List<IdGeneratorVO> getIdsHealth() throws NacosException;
|
||||
|
||||
/**
|
||||
* Update the log level for a specific logger.
|
||||
*
|
||||
* @param logName the name of the logger to update
|
||||
* @param logLevel the new log level to set
|
||||
* @param logName the name of the logger to update.
|
||||
* @param logLevel the new log level to set.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
void updateLogLevel(String logName, String logLevel) throws Exception;
|
||||
void updateLogLevel(String logName, String logLevel) throws NacosException;
|
||||
|
||||
/**
|
||||
* Retrieve information about the current node.
|
||||
*
|
||||
* @return the current node's information
|
||||
* @return the current node's information.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
Member getSelfNode() throws Exception;
|
||||
Member getSelfNode() throws NacosException;
|
||||
|
||||
/**
|
||||
* List cluster nodes based on the specified address and state.
|
||||
*
|
||||
* @param address the address to filter nodes by
|
||||
* @param state the state to filter nodes by
|
||||
* @return a collection of matching nodes
|
||||
* @throws NacosException if an error occurs during the operation
|
||||
* @param address the address to filter nodes by.
|
||||
* @param state the state to filter nodes by.
|
||||
* @return a collection of matching nodes.
|
||||
* @throws NacosException if an error occurs during the operation.
|
||||
*/
|
||||
Collection<Member> listClusterNodes(String address, String state) throws Exception;
|
||||
Collection<Member> listClusterNodes(String address, String state) throws NacosException;
|
||||
|
||||
/**
|
||||
* Retrieve the health status of the current node.
|
||||
*
|
||||
* @return the health status of the current node
|
||||
* @return the health status of the current node.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
String getSelfNodeHealth() throws Exception;
|
||||
String getSelfNodeHealth() throws NacosException;
|
||||
|
||||
/**
|
||||
* Update the list of cluster nodes.
|
||||
*
|
||||
* @param nodes the list of nodes to update
|
||||
* @return true if the operation was successful, false otherwise
|
||||
* @throws NacosApiException if an error occurs during the operation
|
||||
* @param nodes the list of nodes to update.
|
||||
* @return true if the operation was successful, false otherwise.
|
||||
* @throws NacosException if an error occurs during the operation.
|
||||
*/
|
||||
Boolean updateClusterNodes(List<Member> nodes) throws Exception;
|
||||
Boolean updateClusterNodes(List<Member> nodes) throws NacosException;
|
||||
|
||||
/**
|
||||
* Update the lookup mode for the cluster.
|
||||
*
|
||||
* @param type the type of lookup mode to set
|
||||
* @return true if the operation was successful, false otherwise
|
||||
* @throws NacosException if an error occurs during the operation
|
||||
* @param type the type of lookup mode to set.
|
||||
* @return true if the operation was successful, false otherwise.
|
||||
* @throws NacosException if an error occurs during the operation.
|
||||
*/
|
||||
Boolean updateLookupMode(String type) throws Exception;
|
||||
Boolean updateLookupMode(String type) throws NacosException;
|
||||
|
||||
/**
|
||||
* Retrieve the current client connections.
|
||||
*
|
||||
* @return a map of current client connections
|
||||
* @return a map of current client connections.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
Map<String, Connection> getCurrentClients() throws Exception;
|
||||
Map<String, Connection> getCurrentClients() throws NacosException;
|
||||
|
||||
/**
|
||||
* Reload the number of SDK connections on the current server.
|
||||
*
|
||||
* @param count the number of connections to reload
|
||||
* @param redirectAddress the address to redirect connections to
|
||||
* @return the result of the operation
|
||||
* @param count the number of connections to reload.
|
||||
* @param redirectAddress the address to redirect connections to.
|
||||
* @return the result of the operation.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
String reloadConnectionCount(Integer count, String redirectAddress) throws Exception;
|
||||
String reloadConnectionCount(Integer count, String redirectAddress) throws NacosException;
|
||||
|
||||
/**
|
||||
* Smartly reload the cluster based on the specified loader factor.
|
||||
*
|
||||
* @param loaderFactorStr the loader factor string
|
||||
* @return the result of the operation
|
||||
* @param loaderFactorStr the loader factor string.
|
||||
* @return the result of the operation.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
String smartReloadCluster(String loaderFactorStr) throws Exception;
|
||||
String smartReloadCluster(String loaderFactorStr) throws NacosException;
|
||||
|
||||
/**
|
||||
* Reload a single client connection.
|
||||
*
|
||||
* @param connectionId the ID of the connection to reload
|
||||
* @param redirectAddress the address to redirect the connection to
|
||||
* @return the result of the operation
|
||||
* @param connectionId the ID of the connection to reload.
|
||||
* @param redirectAddress the address to redirect the connection to.
|
||||
* @return the result of the operation.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
String reloadSingleClient(String connectionId, String redirectAddress) throws Exception;
|
||||
String reloadSingleClient(String connectionId, String redirectAddress) throws NacosException;
|
||||
|
||||
/**
|
||||
* Retrieve the current cluster loader metrics.
|
||||
*
|
||||
* @return the loader metrics for the cluster
|
||||
* @return the loader metrics for the cluster.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
ServerLoaderMetrics getClusterLoaderMetrics() throws Exception;
|
||||
ServerLoaderMetrics getClusterLoaderMetrics() throws NacosException;
|
||||
|
||||
}
|
||||
|
|
|
@ -18,10 +18,7 @@ package com.alibaba.nacos.maintainer.client.config;
|
|||
|
||||
import com.alibaba.nacos.api.exception.NacosException;
|
||||
import com.alibaba.nacos.api.model.v2.Result;
|
||||
import com.alibaba.nacos.common.constant.HttpHeaderConsts;
|
||||
import com.alibaba.nacos.common.http.Callback;
|
||||
import com.alibaba.nacos.common.http.HttpRestResult;
|
||||
import com.alibaba.nacos.common.model.RestResult;
|
||||
import com.alibaba.nacos.common.utils.HttpMethod;
|
||||
import com.alibaba.nacos.common.utils.JacksonUtils;
|
||||
import com.alibaba.nacos.maintainer.client.constants.Constants;
|
||||
|
@ -46,45 +43,35 @@ import com.alibaba.nacos.maintainer.client.utils.ParamUtil;
|
|||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.context.request.async.DeferredResult;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Configuration management.
|
||||
*
|
||||
* @author Nacos
|
||||
*/
|
||||
public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
||||
public class NacosConfigMaintainerServiceImpl implements ConfigMaintainerService {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(NacosConfigMaintainerService.class);
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(NacosConfigMaintainerServiceImpl.class);
|
||||
|
||||
private final ClientHttpProxy clientHttpProxy;
|
||||
|
||||
public NacosConfigMaintainerService(Properties properties) throws NacosException {
|
||||
public NacosConfigMaintainerServiceImpl(Properties properties) throws NacosException {
|
||||
this.clientHttpProxy = new ClientHttpProxy(properties);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConfigAllInfo getConfig(String dataId, String groupName) throws Exception {
|
||||
public ConfigAllInfo getConfig(String dataId, String groupName) throws NacosException {
|
||||
return getConfig(dataId, groupName, ParamUtil.getDefaultNamespaceId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConfigAllInfo getConfig(String dataId, String groupName, String namespaceId) throws Exception {
|
||||
public ConfigAllInfo getConfig(String dataId, String groupName, String namespaceId) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("dataId", dataId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -103,12 +90,12 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean publishConfig(String dataId, String groupName, String content) throws Exception {
|
||||
public boolean publishConfig(String dataId, String groupName, String content) throws NacosException {
|
||||
return publishConfig(dataId, groupName, ParamUtil.getDefaultNamespaceId(), content);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean publishConfig(String dataId, String groupName, String namespaceId, String content) throws Exception {
|
||||
public boolean publishConfig(String dataId, String groupName, String namespaceId, String content) throws NacosException {
|
||||
return publishConfig(dataId, groupName, namespaceId, content, null, null, null, null, null, null, null, null,
|
||||
null);
|
||||
}
|
||||
|
@ -116,7 +103,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
@Override
|
||||
public boolean publishConfig(String dataId, String groupName, String namespaceId, String content, String tag,
|
||||
String appName, String srcUser, String configTags, String desc, String use, String effect, String type,
|
||||
String schema) throws Exception {
|
||||
String schema) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("dataId", dataId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -144,17 +131,17 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteConfig(String dataId, String groupName) throws Exception {
|
||||
public boolean deleteConfig(String dataId, String groupName) throws NacosException {
|
||||
return deleteConfig(dataId, groupName, ParamUtil.getDefaultNamespaceId(), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteConfig(String dataId, String groupName, String namespaceId) throws Exception {
|
||||
public boolean deleteConfig(String dataId, String groupName, String namespaceId) throws NacosException {
|
||||
return deleteConfig(dataId, groupName, namespaceId, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteConfig(String dataId, String groupName, String namespaceId, String tag) throws Exception {
|
||||
public boolean deleteConfig(String dataId, String groupName, String namespaceId, String tag) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("dataId", dataId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -173,7 +160,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean deleteConfigs(List<Long> ids) throws Exception {
|
||||
public boolean deleteConfigs(List<Long> ids) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
StringBuilder idStr = new StringBuilder();
|
||||
for (Long id : ids) {
|
||||
|
@ -196,13 +183,13 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ConfigAdvanceInfo getConfigAdvanceInfo(String dataId, String groupName) throws Exception {
|
||||
public ConfigAdvanceInfo getConfigAdvanceInfo(String dataId, String groupName) throws NacosException {
|
||||
return getConfigAdvanceInfo(dataId, groupName, ParamUtil.getDefaultNamespaceId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConfigAdvanceInfo getConfigAdvanceInfo(String dataId, String groupName, String namespaceId)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("dataId", dataId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -222,7 +209,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
|
||||
@Override
|
||||
public Page<ConfigInfo> searchConfigByDetails(String dataId, String groupName, String namespaceId,
|
||||
String configDetail, String search, int pageNo, int pageSize) throws Exception {
|
||||
String configDetail, String search, int pageNo, int pageSize) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("dataId", dataId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -245,13 +232,13 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public GroupkeyListenserStatus getListeners(String dataId, String groupName) throws Exception {
|
||||
public GroupkeyListenserStatus getListeners(String dataId, String groupName) throws NacosException {
|
||||
return getListeners(dataId, groupName, ParamUtil.getDefaultNamespaceId(), 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GroupkeyListenserStatus getListeners(String dataId, String groupName, String namespaceId, int sampleTime)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("dataId", dataId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -271,12 +258,12 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean stopBeta(String dataId, String groupName) throws Exception {
|
||||
public boolean stopBeta(String dataId, String groupName) throws NacosException {
|
||||
return stopBeta(dataId, groupName, ParamUtil.getDefaultNamespaceId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean stopBeta(String dataId, String groupName, String namespaceId) throws Exception {
|
||||
public boolean stopBeta(String dataId, String groupName, String namespaceId) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("dataId", dataId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -294,12 +281,12 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ConfigInfo4Beta queryBeta(String dataId, String groupName) throws Exception {
|
||||
public ConfigInfo4Beta queryBeta(String dataId, String groupName) throws NacosException {
|
||||
return queryBeta(dataId, groupName, ParamUtil.getDefaultNamespaceId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConfigInfo4Beta queryBeta(String dataId, String groupName, String namespaceId) throws Exception {
|
||||
public ConfigInfo4Beta queryBeta(String dataId, String groupName, String namespaceId) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("dataId", dataId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -317,61 +304,9 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
return result.getData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> importAndPublishConfig(String namespaceId, String srcUser, SameConfigPolicy policy,
|
||||
MultipartFile multipartFile) throws Exception {
|
||||
if (multipartFile == null) {
|
||||
return new HashMap<>(8);
|
||||
}
|
||||
File file = convertToFile(multipartFile);
|
||||
try {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("srcUser", srcUser);
|
||||
params.put("policy", policy.toString());
|
||||
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.POST)
|
||||
.setPath(Constants.AdminApiPath.CONFIG_ADMIN_PATH + "/import")
|
||||
.setParamValue(params)
|
||||
.setFile(file)
|
||||
.build();
|
||||
HttpRestResult<String> httpRestResult = clientHttpProxy.executeSyncHttpRequest(httpRequest);
|
||||
Result<Map<String, Object>> result = JacksonUtils.toObj(httpRestResult.getData(),
|
||||
new TypeReference<Result<Map<String, Object>>>() {
|
||||
});
|
||||
return result.getData();
|
||||
} finally {
|
||||
if (!file.delete()) {
|
||||
LOGGER.warn("delete file failed: {}", file.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<byte[]> exportConfig(String dataId, String groupName, String namespaceId, List<Long> ids)
|
||||
throws Exception {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("dataId", dataId);
|
||||
params.put("groupName", groupName);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("ids", ids.stream().map(String::valueOf).collect(Collectors.joining(",")));
|
||||
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.CONFIG_ADMIN_PATH + "/export")
|
||||
.setParamValue(params)
|
||||
.build();
|
||||
HttpRestResult<String> httpRestResult = clientHttpProxy.executeSyncHttpRequest(httpRequest);
|
||||
byte[] responseBody = httpRestResult.getData().getBytes(StandardCharsets.UTF_8);
|
||||
return ResponseEntity.ok().header(HttpHeaderConsts.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE)
|
||||
.header(HttpHeaderConsts.CONTENT_DISPOSITION, "attachment; filename=\"config_export.zip\"")
|
||||
.body(responseBody);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> cloneConfig(String namespaceId, List<SameNamespaceCloneConfigBean> configBeansList,
|
||||
String srcUser, SameConfigPolicy policy) throws Exception {
|
||||
String srcUser, SameConfigPolicy policy) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("srcUser", srcUser);
|
||||
|
@ -392,7 +327,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
|
||||
@Override
|
||||
public Page<ConfigHistoryInfo> listConfigHistory(String dataId, String groupName, String namespaceId, int pageNo,
|
||||
int pageSize) throws Exception {
|
||||
int pageSize) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("dataId", dataId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -414,7 +349,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
|
||||
@Override
|
||||
public ConfigHistoryInfo getConfigHistoryInfo(String dataId, String groupName, String namespaceId, Long nid)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("dataId", dataId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -435,7 +370,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
|
||||
@Override
|
||||
public ConfigHistoryInfo getPreviousConfigHistoryInfo(String dataId, String groupName, String namespaceId, Long id)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("dataId", dataId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -455,7 +390,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<ConfigInfoWrapper> getConfigListByNamespace(String namespaceId) throws Exception {
|
||||
public List<ConfigInfoWrapper> getConfigListByNamespace(String namespaceId) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
|
||||
|
@ -472,7 +407,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Capacity getCapacityWithDefault(String groupName, String namespaceId) throws Exception {
|
||||
public Capacity getCapacityWithDefault(String groupName, String namespaceId) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("groupName", groupName);
|
||||
params.put("namespaceId", namespaceId);
|
||||
|
@ -491,7 +426,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
|
||||
@Override
|
||||
public boolean insertOrUpdateCapacity(String groupName, String namespaceId, Integer quota, Integer maxSize,
|
||||
Integer maxAggrCount, Integer maxAggrSize) throws Exception {
|
||||
Integer maxAggrCount, Integer maxAggrSize) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("groupName", groupName);
|
||||
params.put("namespaceId", namespaceId);
|
||||
|
@ -513,7 +448,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String updateLocalCacheFromStore() throws Exception {
|
||||
public String updateLocalCacheFromStore() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.POST)
|
||||
.setPath(Constants.AdminApiPath.CONFIG_OPS_ADMIN_PATH + "/localCache")
|
||||
|
@ -526,7 +461,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String setLogLevel(String logName, String logLevel) throws Exception {
|
||||
public String setLogLevel(String logName, String logLevel) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("logName", logName);
|
||||
params.put("logLevel", logLevel);
|
||||
|
@ -544,7 +479,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Object derbyOps(String sql) throws Exception {
|
||||
public Object derbyOps(String sql) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("sql", sql);
|
||||
|
||||
|
@ -560,40 +495,9 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
return result.getData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeferredResult<String> importDerby(MultipartFile multipartFile) throws Exception {
|
||||
File file = convertToFile(multipartFile);
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.POST)
|
||||
.setPath(Constants.AdminApiPath.CONFIG_OPS_ADMIN_PATH + "/derby/import")
|
||||
.setFile(file)
|
||||
.build();
|
||||
DeferredResult<String> deferredResult = new DeferredResult<>();
|
||||
Callback<String> callback = new Callback<String>() {
|
||||
@Override
|
||||
public void onReceive(RestResult<String> result) {
|
||||
String res = JacksonUtils.toObj(result.getData(), new TypeReference<String>() {
|
||||
});
|
||||
deferredResult.setResult(res);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable throwable) {
|
||||
deferredResult.setErrorResult(throwable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel() {
|
||||
//
|
||||
}
|
||||
};
|
||||
clientHttpProxy.executeAsyncHttpRequest(httpRequest, callback);
|
||||
return deferredResult;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GroupkeyListenserStatus getAllSubClientConfigByIp(String ip, boolean all, String namespaceId,
|
||||
int sampleTime) throws Exception {
|
||||
int sampleTime) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("ip", ip);
|
||||
params.put("all", String.valueOf(all));
|
||||
|
@ -614,7 +518,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
|
||||
@Override
|
||||
public Map<String, Object> getClientMetrics(String ip, String dataId, String groupName, String namespaceId)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("ip", ip);
|
||||
params.put("dataId", dataId);
|
||||
|
@ -635,7 +539,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
|
||||
@Override
|
||||
public Map<String, Object> getClusterMetrics(String ip, String dataId, String groupName, String namespaceId)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("ip", ip);
|
||||
params.put("dataId", dataId);
|
||||
|
@ -655,7 +559,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String raftOps(String command, String value, String groupId) throws Exception {
|
||||
public String raftOps(String command, String value, String groupId) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("command", command);
|
||||
params.put("value", value);
|
||||
|
@ -674,7 +578,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<IdGeneratorVO> getIdsHealth() throws Exception {
|
||||
public List<IdGeneratorVO> getIdsHealth() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.CORE_OPS_ADMIN_PATH + "/ids")
|
||||
|
@ -687,7 +591,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void updateLogLevel(String logName, String logLevel) throws Exception {
|
||||
public void updateLogLevel(String logName, String logLevel) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("logName", logName);
|
||||
params.put("logLevel", logLevel);
|
||||
|
@ -701,7 +605,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Member getSelfNode() throws Exception {
|
||||
public Member getSelfNode() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.CORE_CLUSTER_ADMIN_PATH + "/node/self")
|
||||
|
@ -714,7 +618,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Collection<Member> listClusterNodes(String address, String state) throws Exception {
|
||||
public Collection<Member> listClusterNodes(String address, String state) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("address", address);
|
||||
params.put("state", state);
|
||||
|
@ -732,7 +636,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String getSelfNodeHealth() throws Exception {
|
||||
public String getSelfNodeHealth() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.CORE_CLUSTER_ADMIN_PATH + "/node/self/health")
|
||||
|
@ -745,7 +649,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateClusterNodes(List<Member> nodes) throws Exception {
|
||||
public Boolean updateClusterNodes(List<Member> nodes) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("nodes", JacksonUtils.toJson(nodes));
|
||||
|
||||
|
@ -762,7 +666,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateLookupMode(String type) throws Exception {
|
||||
public Boolean updateLookupMode(String type) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("type", type);
|
||||
|
||||
|
@ -779,7 +683,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Connection> getCurrentClients() throws Exception {
|
||||
public Map<String, Connection> getCurrentClients() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.CORE_LOADER_ADMIN_PATH + "/current")
|
||||
|
@ -792,7 +696,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String reloadConnectionCount(Integer count, String redirectAddress) throws Exception {
|
||||
public String reloadConnectionCount(Integer count, String redirectAddress) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("count", String.valueOf(count));
|
||||
params.put("redirectAddress", redirectAddress);
|
||||
|
@ -810,7 +714,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String smartReloadCluster(String loaderFactorStr) throws Exception {
|
||||
public String smartReloadCluster(String loaderFactorStr) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("loaderFactorStr", loaderFactorStr);
|
||||
|
||||
|
@ -827,7 +731,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String reloadSingleClient(String connectionId, String redirectAddress) throws Exception {
|
||||
public String reloadSingleClient(String connectionId, String redirectAddress) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("connectionId", connectionId);
|
||||
params.put("redirectAddress", redirectAddress);
|
||||
|
@ -845,7 +749,7 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ServerLoaderMetrics getClusterLoaderMetrics() throws Exception {
|
||||
public ServerLoaderMetrics getClusterLoaderMetrics() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.CORE_LOADER_ADMIN_PATH + "/cluster")
|
||||
|
@ -856,16 +760,4 @@ public class NacosConfigMaintainerService implements ConfigMaintainerService {
|
|||
});
|
||||
return result.getData();
|
||||
}
|
||||
|
||||
private File convertToFile(MultipartFile multipartFile) throws IOException {
|
||||
File tempFile = File.createTempFile("config-", ".tmp");
|
||||
try (InputStream in = multipartFile.getInputStream(); FileOutputStream out = new FileOutputStream(tempFile)) {
|
||||
byte[] buffer = new byte[1024];
|
||||
int bytesRead;
|
||||
while ((bytesRead = in.read(buffer)) != -1) {
|
||||
out.write(buffer, 0, bytesRead);
|
||||
}
|
||||
}
|
||||
return tempFile;
|
||||
}
|
||||
}
|
|
@ -19,6 +19,11 @@ package com.alibaba.nacos.maintainer.client.model.core;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* ServerLoaderMetrics.
|
||||
*
|
||||
* @author Nacos
|
||||
*/
|
||||
public class ServerLoaderMetrics {
|
||||
|
||||
String address;
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
package com.alibaba.nacos.maintainer.client.model.naming;
|
||||
|
||||
import com.alibaba.nacos.common.utils.JacksonUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
@ -32,7 +31,6 @@ import java.util.concurrent.TimeUnit;
|
|||
*
|
||||
* @author nacos
|
||||
*/
|
||||
@Component
|
||||
@SuppressWarnings("PMD")
|
||||
public class SwitchDomain implements Record, Cloneable {
|
||||
|
||||
|
|
|
@ -45,22 +45,27 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
public class NacosNamingMaintainerService implements NamingMaintainerService {
|
||||
/**
|
||||
* NacosNamingMaintainerServiceImpl.
|
||||
*
|
||||
* @author Nacos
|
||||
*/
|
||||
public class NacosNamingMaintainerServiceImpl implements NamingMaintainerService {
|
||||
|
||||
private final ClientHttpProxy clientHttpProxy;
|
||||
|
||||
public NacosNamingMaintainerService(Properties properties) throws NacosException {
|
||||
public NacosNamingMaintainerServiceImpl(Properties properties) throws NacosException {
|
||||
this.clientHttpProxy = new ClientHttpProxy(properties);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String createService(String serviceName) throws Exception {
|
||||
public String createService(String serviceName) throws NacosException {
|
||||
return createService(ParamUtil.getDefaultNamespaceId(), ParamUtil.getDefaultGroupName(), serviceName, "", false, 0.0f, "");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String createService(String namespaceId, String groupName, String serviceName, String metadata,
|
||||
boolean ephemeral, float protectThreshold, String selector) throws Exception {
|
||||
boolean ephemeral, float protectThreshold, String selector) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -83,7 +88,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
|
||||
@Override
|
||||
public String updateService(String namespaceId, String groupName, String serviceName, String metadata,
|
||||
boolean ephemeral, float protectThreshold, String selector) throws Exception {
|
||||
boolean ephemeral, float protectThreshold, String selector) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -106,7 +111,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String removeService(String namespaceId, String groupName, String serviceName) throws Exception {
|
||||
public String removeService(String namespaceId, String groupName, String serviceName) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -125,7 +130,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
|
||||
@Override
|
||||
public ServiceDetailInfo getServiceDetail(String namespaceId, String groupName, String serviceName)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -145,7 +150,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
|
||||
@Override
|
||||
public Object listServices(String namespaceId, String groupName, String selector, int pageNo, int pageSize)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -163,7 +168,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ObjectNode searchService(String namespaceId, String expr) throws Exception {
|
||||
public ObjectNode searchService(String namespaceId, String expr) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("expr", expr);
|
||||
|
@ -179,7 +184,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
|
||||
@Override
|
||||
public Result<ObjectNode> getSubscribers(String namespaceId, String groupName, String serviceName, int pageNo,
|
||||
int pageSize, boolean aggregation) throws Exception {
|
||||
int pageSize, boolean aggregation) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -199,7 +204,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<String> listSelectorTypes() throws Exception {
|
||||
public List<String> listSelectorTypes() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.NAMING_SERVICE_ADMIN_PATH + "/selector/types")
|
||||
|
@ -209,7 +214,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public SwitchDomain getSwitches() throws Exception {
|
||||
public SwitchDomain getSwitches() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.NAMING_OPS_ADMIN_PATH + "/switches")
|
||||
|
@ -219,7 +224,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String updateSwitch(String entry, String value, boolean debug) throws Exception {
|
||||
public String updateSwitch(String entry, String value, boolean debug) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("entry", entry);
|
||||
params.put("value", value);
|
||||
|
@ -236,7 +241,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public MetricsInfoVo getMetrics(boolean onlyStatus) throws Exception {
|
||||
public MetricsInfoVo getMetrics(boolean onlyStatus) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("onlyStatus", String.valueOf(onlyStatus));
|
||||
|
||||
|
@ -250,7 +255,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String setLogLevel(String logName, String logLevel) throws Exception {
|
||||
public String setLogLevel(String logName, String logLevel) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("logName", logName);
|
||||
params.put("logLevel", logLevel);
|
||||
|
@ -268,7 +273,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
@Override
|
||||
public String registerInstance(String namespaceId, String groupName, String serviceName, String clusterName,
|
||||
String ip, int port, String weight, boolean healthy, boolean enabled, String ephemeral, String metadata)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -295,7 +300,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
@Override
|
||||
public String deregisterInstance(String namespaceId, String groupName, String serviceName, String clusterName,
|
||||
String ip, int port, String weight, boolean healthy, boolean enabled, String ephemeral, String metadata)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -322,7 +327,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
@Override
|
||||
public String updateInstance(String namespaceId, String groupName, String serviceName, String clusterName,
|
||||
String ip, int port, String weight, boolean healthy, boolean enabled, String ephemeral, String metadata)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -349,7 +354,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
@Override
|
||||
public InstanceMetadataBatchOperationVo batchUpdateInstanceMetadata(String namespaceId, String groupName,
|
||||
String serviceName, String instance, Map<String, String> metadata, String consistencyType)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -370,7 +375,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
@Override
|
||||
public InstanceMetadataBatchOperationVo batchDeleteInstanceMetadata(String namespaceId, String groupName,
|
||||
String serviceName, String instance, Map<String, String> metadata, String consistencyType)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -390,7 +395,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
|
||||
@Override
|
||||
public String partialUpdateInstance(String namespaceId, String serviceName, String clusterName, int ip, int port,
|
||||
double weight, boolean enabled, String metadata) throws Exception {
|
||||
double weight, boolean enabled, String metadata) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("serviceName", serviceName);
|
||||
|
@ -413,7 +418,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
|
||||
@Override
|
||||
public ServiceInfo listInstances(String namespaceId, String groupName, String serviceName, String clusterName,
|
||||
String ip, int port, boolean healthyOnly) throws Exception {
|
||||
String ip, int port, boolean healthyOnly) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -434,7 +439,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
|
||||
@Override
|
||||
public InstanceDetailInfoVo getInstanceDetail(String namespaceId, String groupName, String serviceName,
|
||||
String clusterName, String ip, int port) throws Exception {
|
||||
String clusterName, String ip, int port) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -455,7 +460,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
@Override
|
||||
public String updateInstanceHealthStatus(String namespaceId, String groupName, String serviceName,
|
||||
String clusterName, String metadata, boolean ephemeral, float protectThreshold, String selector)
|
||||
throws Exception {
|
||||
throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -478,7 +483,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Map<String, AbstractHealthChecker> getHealthCheckers() throws Exception {
|
||||
public Map<String, AbstractHealthChecker> getHealthCheckers() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.NAMING_HEALTH_ADMIN_PATH + "/checkers")
|
||||
|
@ -489,7 +494,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
|
||||
@Override
|
||||
public String updateCluster(String namespaceId, String groupName, String clusterName, Integer checkPort,
|
||||
Boolean useInstancePort4Check, String healthChecker, Map<String, String> metadata) throws Exception {
|
||||
Boolean useInstancePort4Check, String healthChecker, Map<String, String> metadata) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -510,7 +515,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<String> getClientList() throws Exception {
|
||||
public List<String> getClientList() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.NAMING_CLIENT_ADMIN_PATH + "/list")
|
||||
|
@ -520,7 +525,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ObjectNode getClientDetail(String clientId) throws Exception {
|
||||
public ObjectNode getClientDetail(String clientId) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("clientId", clientId);
|
||||
|
||||
|
@ -534,7 +539,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<ObjectNode> getPublishedServiceList(String clientId) throws Exception {
|
||||
public List<ObjectNode> getPublishedServiceList(String clientId) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("clientId", clientId);
|
||||
|
||||
|
@ -548,7 +553,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<ObjectNode> getSubscribeServiceList(String clientId) throws Exception {
|
||||
public List<ObjectNode> getSubscribeServiceList(String clientId) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("clientId", clientId);
|
||||
|
||||
|
@ -563,7 +568,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
|
||||
@Override
|
||||
public List<ObjectNode> getPublishedClientList(String namespaceId, String groupName, String serviceName,
|
||||
boolean ephemeral, String ip, Integer port) throws Exception {
|
||||
boolean ephemeral, String ip, Integer port) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -583,7 +588,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
|
||||
@Override
|
||||
public List<ObjectNode> getSubscribeClientList(String namespaceId, String groupName, String serviceName,
|
||||
boolean ephemeral, String ip, Integer port) throws Exception {
|
||||
boolean ephemeral, String ip, Integer port) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("namespaceId", namespaceId);
|
||||
params.put("groupName", groupName);
|
||||
|
@ -602,7 +607,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ObjectNode getResponsibleServerForClient(String ip, String port) throws Exception {
|
||||
public ObjectNode getResponsibleServerForClient(String ip, String port) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("ip", ip);
|
||||
params.put("port", port);
|
||||
|
@ -617,7 +622,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String raftOps(String command, String value, String groupId) throws Exception {
|
||||
public String raftOps(String command, String value, String groupId) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("command", command);
|
||||
params.put("value", value);
|
||||
|
@ -636,7 +641,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<IdGeneratorVO> getIdsHealth() throws Exception {
|
||||
public List<IdGeneratorVO> getIdsHealth() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.CORE_OPS_ADMIN_PATH + "/ids")
|
||||
|
@ -649,7 +654,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void updateLogLevel(String logName, String logLevel) throws Exception {
|
||||
public void updateLogLevel(String logName, String logLevel) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("logName", logName);
|
||||
params.put("logLevel", logLevel);
|
||||
|
@ -663,7 +668,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Member getSelfNode() throws Exception {
|
||||
public Member getSelfNode() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.CORE_CLUSTER_ADMIN_PATH + "/node/self")
|
||||
|
@ -676,7 +681,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Collection<Member> listClusterNodes(String address, String state) throws Exception {
|
||||
public Collection<Member> listClusterNodes(String address, String state) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("address", address);
|
||||
params.put("state", state);
|
||||
|
@ -694,7 +699,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String getSelfNodeHealth() throws Exception {
|
||||
public String getSelfNodeHealth() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.CORE_CLUSTER_ADMIN_PATH + "/node/self/health")
|
||||
|
@ -707,7 +712,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateClusterNodes(List<Member> nodes) throws Exception {
|
||||
public Boolean updateClusterNodes(List<Member> nodes) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("nodes", JacksonUtils.toJson(nodes));
|
||||
|
||||
|
@ -724,7 +729,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateLookupMode(String type) throws Exception {
|
||||
public Boolean updateLookupMode(String type) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("type", type);
|
||||
|
||||
|
@ -741,7 +746,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Connection> getCurrentClients() throws Exception {
|
||||
public Map<String, Connection> getCurrentClients() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.CORE_LOADER_ADMIN_PATH + "/current")
|
||||
|
@ -754,7 +759,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String reloadConnectionCount(Integer count, String redirectAddress) throws Exception {
|
||||
public String reloadConnectionCount(Integer count, String redirectAddress) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("count", String.valueOf(count));
|
||||
params.put("redirectAddress", redirectAddress);
|
||||
|
@ -772,7 +777,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String smartReloadCluster(String loaderFactorStr) throws Exception {
|
||||
public String smartReloadCluster(String loaderFactorStr) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("loaderFactorStr", loaderFactorStr);
|
||||
|
||||
|
@ -789,7 +794,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String reloadSingleClient(String connectionId, String redirectAddress) throws Exception {
|
||||
public String reloadSingleClient(String connectionId, String redirectAddress) throws NacosException {
|
||||
Map<String, String> params = new HashMap<>(8);
|
||||
params.put("connectionId", connectionId);
|
||||
params.put("redirectAddress", redirectAddress);
|
||||
|
@ -807,7 +812,7 @@ public class NacosNamingMaintainerService implements NamingMaintainerService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ServerLoaderMetrics getClusterLoaderMetrics() throws Exception {
|
||||
public ServerLoaderMetrics getClusterLoaderMetrics() throws NacosException {
|
||||
HttpRequest httpRequest = new HttpRequest.Builder()
|
||||
.setHttpMethod(HttpMethod.GET)
|
||||
.setPath(Constants.AdminApiPath.CORE_LOADER_ADMIN_PATH + "/cluster")
|
|
@ -37,7 +37,7 @@ public class NamingMaintainerFactory {
|
|||
public static NamingMaintainerService createNamingMaintainerService(String serverList) throws NacosException {
|
||||
Properties properties = new Properties();
|
||||
properties.setProperty("serverAddr", serverList);
|
||||
return new NacosNamingMaintainerService(properties);
|
||||
return new NacosNamingMaintainerServiceImpl(properties);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -51,6 +51,6 @@ public class NamingMaintainerFactory {
|
|||
if (properties == null) {
|
||||
throw new NacosException(NacosException.INVALID_PARAM, "properties is null");
|
||||
}
|
||||
return new NacosNamingMaintainerService(properties);
|
||||
return new NacosNamingMaintainerServiceImpl(properties);
|
||||
}
|
||||
}
|
|
@ -17,7 +17,6 @@
|
|||
package com.alibaba.nacos.maintainer.client.naming;
|
||||
|
||||
import com.alibaba.nacos.api.exception.NacosException;
|
||||
import com.alibaba.nacos.api.exception.api.NacosApiException;
|
||||
import com.alibaba.nacos.api.model.v2.Result;
|
||||
import com.alibaba.nacos.api.naming.pojo.ServiceInfo;
|
||||
import com.alibaba.nacos.api.naming.pojo.healthcheck.AbstractHealthChecker;
|
||||
|
@ -37,12 +36,13 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Naming service maintenance interface, providing operations for managing services, instances, health checks, clusters, and clients.
|
||||
* Nacos Naming module maintainer service.
|
||||
*
|
||||
* @author Nacos
|
||||
*/
|
||||
public interface NamingMaintainerService {
|
||||
|
||||
// ------------------------- Service Operations -------------------------
|
||||
|
||||
/**
|
||||
* Create a new service with the given service name.
|
||||
*
|
||||
|
@ -50,7 +50,7 @@ public interface NamingMaintainerService {
|
|||
* @return the result of the operation
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
String createService(String serviceName) throws Exception;
|
||||
String createService(String serviceName) throws NacosException;
|
||||
|
||||
/**
|
||||
* Create a new service with detailed parameters.
|
||||
|
@ -65,8 +65,8 @@ public interface NamingMaintainerService {
|
|||
* @return the result of the operation
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
String createService(String namespaceId, String groupName, String serviceName, String metadata,
|
||||
boolean ephemeral, float protectThreshold, String selector) throws Exception;
|
||||
String createService(String namespaceId, String groupName, String serviceName, String metadata, boolean ephemeral,
|
||||
float protectThreshold, String selector) throws NacosException;
|
||||
|
||||
/**
|
||||
* Update an existing service.
|
||||
|
@ -79,10 +79,10 @@ public interface NamingMaintainerService {
|
|||
* @param protectThreshold the updated protect threshold
|
||||
* @param selector the updated selector
|
||||
* @return the result of the operation
|
||||
* @throws Exception if an error occurs
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
String updateService(String namespaceId, String groupName, String serviceName, String metadata,
|
||||
boolean ephemeral, float protectThreshold, String selector) throws Exception;
|
||||
String updateService(String namespaceId, String groupName, String serviceName, String metadata, boolean ephemeral,
|
||||
float protectThreshold, String selector) throws NacosException;
|
||||
|
||||
/**
|
||||
* Remove a service.
|
||||
|
@ -93,7 +93,7 @@ public interface NamingMaintainerService {
|
|||
* @return the result of the operation
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
String removeService(String namespaceId, String groupName, String serviceName) throws Exception;
|
||||
String removeService(String namespaceId, String groupName, String serviceName) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get detailed information of a service.
|
||||
|
@ -104,7 +104,7 @@ public interface NamingMaintainerService {
|
|||
* @return the service detail information
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
ServiceDetailInfo getServiceDetail(String namespaceId, String groupName, String serviceName) throws Exception;
|
||||
ServiceDetailInfo getServiceDetail(String namespaceId, String groupName, String serviceName) throws NacosException;
|
||||
|
||||
/**
|
||||
* List services with pagination.
|
||||
|
@ -115,9 +115,10 @@ public interface NamingMaintainerService {
|
|||
* @param pageNo the page number
|
||||
* @param pageSize the page size
|
||||
* @return the list of services
|
||||
* @throws Exception if an error occurs
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
Object listServices(String namespaceId, String groupName, String selector, int pageNo, int pageSize) throws Exception;
|
||||
Object listServices(String namespaceId, String groupName, String selector, int pageNo, int pageSize)
|
||||
throws NacosException;
|
||||
|
||||
/**
|
||||
* Search service names by expression.
|
||||
|
@ -127,7 +128,7 @@ public interface NamingMaintainerService {
|
|||
* @return the search result
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
ObjectNode searchService(String namespaceId, String expr) throws Exception;
|
||||
ObjectNode searchService(String namespaceId, String expr) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get subscribers of a service with pagination.
|
||||
|
@ -141,22 +142,24 @@ public interface NamingMaintainerService {
|
|||
* @return the list of subscribers
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
Result<ObjectNode> getSubscribers(String namespaceId, String groupName, String serviceName,
|
||||
int pageNo, int pageSize, boolean aggregation) throws Exception;
|
||||
Result<ObjectNode> getSubscribers(String namespaceId, String groupName, String serviceName, int pageNo,
|
||||
int pageSize, boolean aggregation) throws NacosException;
|
||||
|
||||
/**
|
||||
* List all selector types.
|
||||
*
|
||||
* @return the list of selector types
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
List<String> listSelectorTypes() throws Exception;
|
||||
List<String> listSelectorTypes() throws NacosException;
|
||||
|
||||
/**
|
||||
* Get the current switch configuration.
|
||||
*
|
||||
* @return the switch domain
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
SwitchDomain getSwitches() throws Exception;
|
||||
SwitchDomain getSwitches() throws NacosException;
|
||||
|
||||
/**
|
||||
* Update the switch configuration.
|
||||
|
@ -165,17 +168,18 @@ public interface NamingMaintainerService {
|
|||
* @param value the new value
|
||||
* @param debug whether to enable debug mode
|
||||
* @return the result of the operation
|
||||
* @throws Exception if an error occurs
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
String updateSwitch(String entry, String value, boolean debug) throws Exception;
|
||||
String updateSwitch(String entry, String value, boolean debug) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get system metrics.
|
||||
*
|
||||
* @param onlyStatus whether to return only status information
|
||||
* @return the metrics information
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
MetricsInfoVo getMetrics(boolean onlyStatus) throws Exception;
|
||||
MetricsInfoVo getMetrics(boolean onlyStatus) throws NacosException;
|
||||
|
||||
/**
|
||||
* Set the log level.
|
||||
|
@ -183,8 +187,9 @@ public interface NamingMaintainerService {
|
|||
* @param logName the name of the logger
|
||||
* @param logLevel the new log level
|
||||
* @return the result of the operation
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
String setLogLevel(String logName, String logLevel) throws Exception;
|
||||
String setLogLevel(String logName, String logLevel) throws NacosException;
|
||||
|
||||
// ------------------------- Instance Operations -------------------------
|
||||
|
||||
|
@ -207,7 +212,7 @@ public interface NamingMaintainerService {
|
|||
*/
|
||||
String registerInstance(String namespaceId, String groupName, String serviceName, String clusterName, String ip,
|
||||
int port, String weight, boolean healthy, boolean enabled, String ephemeral, String metadata)
|
||||
throws Exception;
|
||||
throws NacosException;
|
||||
|
||||
/**
|
||||
* Deregister an instance.
|
||||
|
@ -227,7 +232,8 @@ public interface NamingMaintainerService {
|
|||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
String deregisterInstance(String namespaceId, String groupName, String serviceName, String clusterName, String ip,
|
||||
int port, String weight, boolean healthy, boolean enabled, String ephemeral, String metadata) throws NacosException, Exception;
|
||||
int port, String weight, boolean healthy, boolean enabled, String ephemeral, String metadata)
|
||||
throws NacosException;
|
||||
|
||||
/**
|
||||
* Update an existing instance.
|
||||
|
@ -248,37 +254,39 @@ public interface NamingMaintainerService {
|
|||
*/
|
||||
String updateInstance(String namespaceId, String groupName, String serviceName, String clusterName, String ip,
|
||||
int port, String weight, boolean healthy, boolean enabled, String ephemeral, String metadata)
|
||||
throws Exception;
|
||||
throws NacosException;
|
||||
|
||||
/**
|
||||
* Batch update instance metadata.
|
||||
*
|
||||
* @param namespaceId the namespace ID
|
||||
* @param groupName the group name
|
||||
* @param serviceName the service name
|
||||
* @param instance the instance information
|
||||
* @param metadata the metadata to update
|
||||
* @param consistencyType the consistency type
|
||||
* @param namespaceId the namespace ID
|
||||
* @param groupName the group name
|
||||
* @param serviceName the service name
|
||||
* @param instance the instance information
|
||||
* @param metadata the metadata to update
|
||||
* @param consistencyType the consistency type
|
||||
* @return the result of the operation
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
InstanceMetadataBatchOperationVo batchUpdateInstanceMetadata(String namespaceId, String groupName, String serviceName, String instance,
|
||||
Map<String, String> metadata, String consistencyType) throws Exception;
|
||||
InstanceMetadataBatchOperationVo batchUpdateInstanceMetadata(String namespaceId, String groupName,
|
||||
String serviceName, String instance, Map<String, String> metadata, String consistencyType)
|
||||
throws NacosException;
|
||||
|
||||
/**
|
||||
* Batch delete instance metadata.
|
||||
*
|
||||
* @param namespaceId the namespace ID
|
||||
* @param groupName the group name
|
||||
* @param serviceName the service name
|
||||
* @param instance the instance information
|
||||
* @param metadata the metadata to delete
|
||||
* @param consistencyType the consistency type
|
||||
* @param namespaceId the namespace ID
|
||||
* @param groupName the group name
|
||||
* @param serviceName the service name
|
||||
* @param instance the instance information
|
||||
* @param metadata the metadata to delete
|
||||
* @param consistencyType the consistency type
|
||||
* @return the result of the operation
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
InstanceMetadataBatchOperationVo batchDeleteInstanceMetadata(String namespaceId, String groupName, String serviceName, String instance,
|
||||
Map<String, String> metadata, String consistencyType) throws Exception;
|
||||
InstanceMetadataBatchOperationVo batchDeleteInstanceMetadata(String namespaceId, String groupName,
|
||||
String serviceName, String instance, Map<String, String> metadata, String consistencyType)
|
||||
throws NacosException;
|
||||
|
||||
/**
|
||||
* Partially update an instance.
|
||||
|
@ -295,7 +303,7 @@ public interface NamingMaintainerService {
|
|||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
String partialUpdateInstance(String namespaceId, String serviceName, String clusterName, int ip, int port,
|
||||
double weight, boolean enabled, String metadata) throws Exception;
|
||||
double weight, boolean enabled, String metadata) throws NacosException;
|
||||
|
||||
/**
|
||||
* List instances of a service.
|
||||
|
@ -304,14 +312,14 @@ public interface NamingMaintainerService {
|
|||
* @param groupName the group name
|
||||
* @param serviceName the service name
|
||||
* @param clusterName the cluster name
|
||||
* @param ip the IP address of the instance
|
||||
* @param port the port of the instance
|
||||
* @param ip the IP address of the instance (optional)
|
||||
* @param port the port of the instance (optional)
|
||||
* @param healthyOnly whether to list only healthy instances
|
||||
* @return the list of instances
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
ServiceInfo listInstances(String namespaceId, String groupName, String serviceName, String clusterName,
|
||||
String ip, int port, boolean healthyOnly) throws Exception;
|
||||
ServiceInfo listInstances(String namespaceId, String groupName, String serviceName, String clusterName, String ip,
|
||||
int port, boolean healthyOnly) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get detailed information of an instance.
|
||||
|
@ -325,8 +333,8 @@ public interface NamingMaintainerService {
|
|||
* @return the instance detail information
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
InstanceDetailInfoVo getInstanceDetail(String namespaceId, String groupName, String serviceName,
|
||||
String clusterName, String ip, int port) throws Exception;
|
||||
InstanceDetailInfoVo getInstanceDetail(String namespaceId, String groupName, String serviceName, String clusterName,
|
||||
String ip, int port) throws NacosException;
|
||||
|
||||
// ------------------------- Health Check Operations -------------------------
|
||||
|
||||
|
@ -344,33 +352,34 @@ public interface NamingMaintainerService {
|
|||
* @return the result of the operation
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
String updateInstanceHealthStatus(String namespaceId, String groupName, String serviceName, String clusterName, String metadata,
|
||||
boolean ephemeral, float protectThreshold, String selector) throws Exception;
|
||||
String updateInstanceHealthStatus(String namespaceId, String groupName, String serviceName, String clusterName,
|
||||
String metadata, boolean ephemeral, float protectThreshold, String selector) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get all health checkers.
|
||||
*
|
||||
* @return the map of health checkers
|
||||
* @return a map of health checkers
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
Map<String, AbstractHealthChecker> getHealthCheckers() throws Exception;
|
||||
Map<String, AbstractHealthChecker> getHealthCheckers() throws NacosException;
|
||||
|
||||
// ------------------------- Cluster Operations -------------------------
|
||||
|
||||
/**
|
||||
* Update cluster configuration.
|
||||
*
|
||||
* @param namespaceId the namespace ID
|
||||
* @param groupName the group name
|
||||
* @param clusterName the cluster name
|
||||
* @param checkPort the health check port
|
||||
* @param useInstancePort4Check whether to use instance port for health check
|
||||
* @param healthChecker the health checker configuration
|
||||
* @param metadata the metadata of the cluster
|
||||
* @param namespaceId the namespace ID
|
||||
* @param groupName the group name
|
||||
* @param clusterName the cluster name
|
||||
* @param checkPort the health check port
|
||||
* @param useInstancePort4Check whether to use the instance port for health check
|
||||
* @param healthChecker the health checker configuration
|
||||
* @param metadata the metadata of the cluster
|
||||
* @return the result of the operation
|
||||
* @throws Exception if an error occurs
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
String updateCluster(String namespaceId, String groupName, String clusterName, Integer checkPort,
|
||||
Boolean useInstancePort4Check, String healthChecker, Map<String, String> metadata) throws Exception;
|
||||
Boolean useInstancePort4Check, String healthChecker, Map<String, String> metadata) throws NacosException;
|
||||
|
||||
// ------------------------- Client Operations -------------------------
|
||||
|
||||
|
@ -378,8 +387,9 @@ public interface NamingMaintainerService {
|
|||
* Get the list of all clients.
|
||||
*
|
||||
* @return the list of client IDs
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
List<String> getClientList() throws Exception;
|
||||
List<String> getClientList() throws NacosException;
|
||||
|
||||
/**
|
||||
* Get detailed information of a client.
|
||||
|
@ -388,7 +398,7 @@ public interface NamingMaintainerService {
|
|||
* @return the client detail information
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
ObjectNode getClientDetail(String clientId) throws Exception;
|
||||
ObjectNode getClientDetail(String clientId) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get the list of services published by a client.
|
||||
|
@ -397,7 +407,7 @@ public interface NamingMaintainerService {
|
|||
* @return the list of published services
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
List<ObjectNode> getPublishedServiceList(String clientId) throws Exception;
|
||||
List<ObjectNode> getPublishedServiceList(String clientId) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get the list of services subscribed by a client.
|
||||
|
@ -406,7 +416,7 @@ public interface NamingMaintainerService {
|
|||
* @return the list of subscribed services
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
List<ObjectNode> getSubscribeServiceList(String clientId) throws Exception;
|
||||
List<ObjectNode> getSubscribeServiceList(String clientId) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get the list of clients that published a specific service.
|
||||
|
@ -420,8 +430,8 @@ public interface NamingMaintainerService {
|
|||
* @return the list of clients
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
List<ObjectNode> getPublishedClientList(String namespaceId, String groupName,
|
||||
String serviceName, boolean ephemeral, String ip, Integer port) throws Exception;
|
||||
List<ObjectNode> getPublishedClientList(String namespaceId, String groupName, String serviceName, boolean ephemeral,
|
||||
String ip, Integer port) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get the list of clients that subscribed to a specific service.
|
||||
|
@ -435,8 +445,8 @@ public interface NamingMaintainerService {
|
|||
* @return the list of clients
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
List<ObjectNode> getSubscribeClientList(String namespaceId, String groupName,
|
||||
String serviceName, boolean ephemeral, String ip, Integer port) throws Exception;
|
||||
List<ObjectNode> getSubscribeClientList(String namespaceId, String groupName, String serviceName, boolean ephemeral,
|
||||
String ip, Integer port) throws NacosException;
|
||||
|
||||
/**
|
||||
* Get the responsible server for a client based on its IP and port.
|
||||
|
@ -444,115 +454,126 @@ public interface NamingMaintainerService {
|
|||
* @param ip the IP address of the client
|
||||
* @param port the port of the client
|
||||
* @return the responsible server information
|
||||
* @throws NacosException if an error occurs
|
||||
*/
|
||||
ObjectNode getResponsibleServerForClient(String ip, String port) throws Exception;
|
||||
ObjectNode getResponsibleServerForClient(String ip, String port) throws NacosException;
|
||||
|
||||
// ------------------------- Core Operations -------------------------
|
||||
|
||||
/**
|
||||
* Execute a Raft operation with the specified command, value, and group ID.
|
||||
*
|
||||
* @param command the command to execute
|
||||
* @param value the value associated with the command
|
||||
* @param groupId the group ID for the operation
|
||||
* @return the result of the Raft operation
|
||||
* @param command the command to execute.
|
||||
* @param value the value associated with the command.
|
||||
* @param groupId the group ID for the operation.
|
||||
* @return the result of the Raft operation.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
String raftOps(String command, String value, String groupId) throws Exception;
|
||||
String raftOps(String command, String value, String groupId) throws NacosException;
|
||||
|
||||
/**
|
||||
* Retrieve the current health status of the ID generator.
|
||||
*
|
||||
* @return a list of ID generator status objects
|
||||
* @return a list of ID generator status objects.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
List<IdGeneratorVO> getIdsHealth() throws Exception;
|
||||
List<IdGeneratorVO> getIdsHealth() throws NacosException;
|
||||
|
||||
/**
|
||||
* Update the log level for a specific logger.
|
||||
*
|
||||
* @param logName the name of the logger to update
|
||||
* @param logLevel the new log level to set
|
||||
* @param logName the name of the logger to update.
|
||||
* @param logLevel the new log level to set.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
void updateLogLevel(String logName, String logLevel) throws Exception;
|
||||
void updateLogLevel(String logName, String logLevel) throws NacosException;
|
||||
|
||||
/**
|
||||
* Retrieve information about the current node.
|
||||
*
|
||||
* @return the current node's information
|
||||
* @return the current node's information.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
Member getSelfNode() throws Exception;
|
||||
Member getSelfNode() throws NacosException;
|
||||
|
||||
/**
|
||||
* List cluster nodes based on the specified address and state.
|
||||
*
|
||||
* @param address the address to filter nodes by
|
||||
* @param state the state to filter nodes by
|
||||
* @return a collection of matching nodes
|
||||
* @throws NacosException if an error occurs during the operation
|
||||
* @param address the address to filter nodes by.
|
||||
* @param state the state to filter nodes by.
|
||||
* @return a collection of matching nodes.
|
||||
* @throws NacosException if an error occurs during the operation.
|
||||
*/
|
||||
Collection<Member> listClusterNodes(String address, String state) throws NacosException, Exception;
|
||||
Collection<Member> listClusterNodes(String address, String state) throws NacosException;
|
||||
|
||||
/**
|
||||
* Retrieve the health status of the current node.
|
||||
*
|
||||
* @return the health status of the current node
|
||||
* @return the health status of the current node.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
String getSelfNodeHealth() throws Exception;
|
||||
String getSelfNodeHealth() throws NacosException;
|
||||
|
||||
/**
|
||||
* Update the list of cluster nodes.
|
||||
*
|
||||
* @param nodes the list of nodes to update
|
||||
* @return true if the operation was successful, false otherwise
|
||||
* @throws NacosApiException if an error occurs during the operation
|
||||
* @param nodes the list of nodes to update.
|
||||
* @return true if the operation was successful, false otherwise.
|
||||
* @throws NacosException if an error occurs during the operation.
|
||||
*/
|
||||
Boolean updateClusterNodes(List<Member> nodes) throws NacosException, Exception;
|
||||
Boolean updateClusterNodes(List<Member> nodes) throws NacosException;
|
||||
|
||||
/**
|
||||
* Update the lookup mode for the cluster.
|
||||
*
|
||||
* @param type the type of lookup mode to set
|
||||
* @return true if the operation was successful, false otherwise
|
||||
* @throws NacosException if an error occurs during the operation
|
||||
* @param type the type of lookup mode to set.
|
||||
* @return true if the operation was successful, false otherwise.
|
||||
* @throws NacosException if an error occurs during the operation.
|
||||
*/
|
||||
Boolean updateLookupMode(String type) throws NacosException, Exception;
|
||||
Boolean updateLookupMode(String type) throws NacosException;
|
||||
|
||||
/**
|
||||
* Retrieve the current client connections.
|
||||
*
|
||||
* @return a map of current client connections
|
||||
* @return a map of current client connections.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
Map<String, Connection> getCurrentClients() throws Exception;
|
||||
Map<String, Connection> getCurrentClients() throws NacosException;
|
||||
|
||||
/**
|
||||
* Reload the number of SDK connections on the current server.
|
||||
*
|
||||
* @param count the number of connections to reload
|
||||
* @param redirectAddress the address to redirect connections to
|
||||
* @return the result of the operation
|
||||
* @param count the number of connections to reload.
|
||||
* @param redirectAddress the address to redirect connections to.
|
||||
* @return the result of the operation.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
String reloadConnectionCount(Integer count, String redirectAddress) throws Exception;
|
||||
String reloadConnectionCount(Integer count, String redirectAddress) throws NacosException;
|
||||
|
||||
/**
|
||||
* Smartly reload the cluster based on the specified loader factor.
|
||||
*
|
||||
* @param loaderFactorStr the loader factor string
|
||||
* @return the result of the operation
|
||||
* @param loaderFactorStr the loader factor string.
|
||||
* @return the result of the operation.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
String smartReloadCluster(String loaderFactorStr) throws Exception;
|
||||
String smartReloadCluster(String loaderFactorStr) throws NacosException;
|
||||
|
||||
/**
|
||||
* Reload a single client connection.
|
||||
*
|
||||
* @param connectionId the ID of the connection to reload
|
||||
* @param redirectAddress the address to redirect the connection to
|
||||
* @return the result of the operation
|
||||
* @param connectionId the ID of the connection to reload.
|
||||
* @param redirectAddress the address to redirect the connection to.
|
||||
* @return the result of the operation.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
String reloadSingleClient(String connectionId, String redirectAddress) throws Exception;
|
||||
String reloadSingleClient(String connectionId, String redirectAddress) throws NacosException;
|
||||
|
||||
/**
|
||||
* Retrieve the current cluster loader metrics.
|
||||
*
|
||||
* @return the loader metrics for the cluster
|
||||
* @return the loader metrics for the cluster.
|
||||
* @throws NacosException if the operation fails.
|
||||
*/
|
||||
ServerLoaderMetrics getClusterLoaderMetrics() throws Exception;
|
||||
ServerLoaderMetrics getClusterLoaderMetrics() throws NacosException;
|
||||
}
|
|
@ -76,9 +76,9 @@ public class ClientHttpProxy {
|
|||
*
|
||||
* @param request http request
|
||||
* @return http result
|
||||
* @throws Exception exception
|
||||
* @throws NacosException exception when request
|
||||
*/
|
||||
public HttpRestResult<String> executeSyncHttpRequest(HttpRequest request) throws Exception {
|
||||
public HttpRestResult<String> executeSyncHttpRequest(HttpRequest request) throws NacosException {
|
||||
long endTime = System.currentTimeMillis() + ParamUtil.getReadTimeout();
|
||||
String currentServerAddr = serverListManager.getCurrentServer();
|
||||
int retryCount = maxRetry;
|
||||
|
@ -104,7 +104,7 @@ public class ClientHttpProxy {
|
|||
}
|
||||
}
|
||||
|
||||
throw new ConnectException(
|
||||
throw new NacosException(NacosException.BAD_GATEWAY,
|
||||
"No available server after " + maxRetry + " retries, last tried server: " + currentServerAddr);
|
||||
}
|
||||
|
||||
|
@ -147,9 +147,9 @@ public class ClientHttpProxy {
|
|||
* Execute async http request.
|
||||
*
|
||||
* @param request http request
|
||||
* @throws Exception exception
|
||||
* @throws NacosException exception when request
|
||||
*/
|
||||
public void executeAsyncHttpRequest(HttpRequest request, Callback<String> callback) throws Exception {
|
||||
public void executeAsyncHttpRequest(HttpRequest request, Callback<String> callback) throws NacosException {
|
||||
long endTime = System.currentTimeMillis() + ParamUtil.getReadTimeout();
|
||||
String currentServerAddr = serverListManager.getCurrentServer();
|
||||
executeAsyncWithRetry(request, callback, endTime, currentServerAddr, maxRetry);
|
||||
|
|
|
@ -52,7 +52,6 @@ public class ParamUtil {
|
|||
private static final int DEFAULT_MAX_RETRY_TIMES = 3;
|
||||
|
||||
static {
|
||||
// Client identity information
|
||||
connectTimeout = initConnectionTimeout();
|
||||
LOGGER.info("[settings] [maintainer-http-client] connect timeout:{}", connectTimeout);
|
||||
|
||||
|
@ -69,7 +68,7 @@ public class ParamUtil {
|
|||
return Integer.parseInt(connectTimeout);
|
||||
} catch (NumberFormatException e) {
|
||||
final String msg = "[http-client] invalid connect timeout:" + connectTimeout;
|
||||
LOGGER.error("[settings] " + msg, e);
|
||||
LOGGER.error("[settings] {}", msg, e);
|
||||
throw new IllegalArgumentException(msg, e);
|
||||
}
|
||||
}
|
||||
|
@ -80,7 +79,7 @@ public class ParamUtil {
|
|||
return Integer.parseInt(readTimeout);
|
||||
} catch (NumberFormatException e) {
|
||||
final String msg = "[http-client] invalid read timeout:" + readTimeout;
|
||||
LOGGER.error("[settings] " + msg, e);
|
||||
LOGGER.error("[settings] {}", msg, e);
|
||||
throw new IllegalArgumentException(msg, e);
|
||||
}
|
||||
}
|
||||
|
@ -91,7 +90,7 @@ public class ParamUtil {
|
|||
String.valueOf(DEFAULT_MAX_RETRY_TIMES)));
|
||||
} catch (NumberFormatException e) {
|
||||
final String msg = "[http-client] invalid max retry times:" + maxRetryTimes;
|
||||
LOGGER.error("[settings] " + msg, e);
|
||||
LOGGER.error("[settings] {}", msg, e);
|
||||
throw new IllegalArgumentException(msg, e);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ public class ConfigMaintainerFactoryTest {
|
|||
|
||||
// Assert
|
||||
assertNotNull(service);
|
||||
assertInstanceOf(NacosConfigMaintainerService.class, service);
|
||||
assertInstanceOf(NacosConfigMaintainerServiceImpl.class, service);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -51,7 +51,7 @@ public class ConfigMaintainerFactoryTest {
|
|||
|
||||
// Assert
|
||||
assertNotNull(service);
|
||||
assertInstanceOf(NacosConfigMaintainerService.class, service);
|
||||
assertInstanceOf(NacosConfigMaintainerServiceImpl.class, service);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -41,15 +41,10 @@ import org.junit.jupiter.api.BeforeEach;
|
|||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.context.request.async.DeferredResult;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.lang.reflect.Field;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
@ -60,27 +55,26 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
|
|||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
class NacosConfigMaintainerServiceTest {
|
||||
class NacosConfigMaintainerServiceImplTest {
|
||||
|
||||
@Mock
|
||||
private ClientHttpProxy clientHttpProxy;
|
||||
|
||||
private NacosConfigMaintainerService nacosConfigMaintainerService;
|
||||
private NacosConfigMaintainerServiceImpl nacosConfigMaintainerServiceImpl;
|
||||
|
||||
@BeforeEach
|
||||
void setUp() throws Exception {
|
||||
MockitoAnnotations.openMocks(this);
|
||||
Properties properties = new Properties();
|
||||
properties.setProperty("serverAddr", "localhost:8848");
|
||||
nacosConfigMaintainerService = new NacosConfigMaintainerService(properties);
|
||||
Field clientHttpProxyField = NacosConfigMaintainerService.class.getDeclaredField("clientHttpProxy");
|
||||
nacosConfigMaintainerServiceImpl = new NacosConfigMaintainerServiceImpl(properties);
|
||||
Field clientHttpProxyField = NacosConfigMaintainerServiceImpl.class.getDeclaredField("clientHttpProxy");
|
||||
clientHttpProxyField.setAccessible(true);
|
||||
clientHttpProxyField.set(nacosConfigMaintainerService, clientHttpProxy);
|
||||
clientHttpProxyField.set(nacosConfigMaintainerServiceImpl, clientHttpProxy);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -100,7 +94,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any(HttpRequest.class))).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
ConfigAllInfo result = nacosConfigMaintainerService.getConfig(dataId, groupName, namespaceId);
|
||||
ConfigAllInfo result = nacosConfigMaintainerServiceImpl.getConfig(dataId, groupName, namespaceId);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -124,7 +118,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any(HttpRequest.class))).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
boolean result = nacosConfigMaintainerService.publishConfig(dataId, groupName, namespaceId, content);
|
||||
boolean result = nacosConfigMaintainerServiceImpl.publishConfig(dataId, groupName, namespaceId, content);
|
||||
|
||||
// Assert
|
||||
assertTrue(result);
|
||||
|
@ -144,7 +138,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any(HttpRequest.class))).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
boolean result = nacosConfigMaintainerService.deleteConfig(dataId, groupName, namespaceId);
|
||||
boolean result = nacosConfigMaintainerServiceImpl.deleteConfig(dataId, groupName, namespaceId);
|
||||
|
||||
// Assert
|
||||
assertTrue(result);
|
||||
|
@ -169,7 +163,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any(HttpRequest.class))).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
ConfigAdvanceInfo result = nacosConfigMaintainerService.getConfigAdvanceInfo(dataId, groupName, namespaceId);
|
||||
ConfigAdvanceInfo result = nacosConfigMaintainerServiceImpl.getConfigAdvanceInfo(dataId, groupName, namespaceId);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -199,7 +193,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any(HttpRequest.class))).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
Page<ConfigInfo> result = nacosConfigMaintainerService.searchConfigByDetails(dataId, groupName, namespaceId,
|
||||
Page<ConfigInfo> result = nacosConfigMaintainerServiceImpl.searchConfigByDetails(dataId, groupName, namespaceId,
|
||||
configDetail, search, pageNo, pageSize);
|
||||
|
||||
// Assert
|
||||
|
@ -228,7 +222,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any(HttpRequest.class))).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
GroupkeyListenserStatus result = nacosConfigMaintainerService.getListeners(dataId, groupName, namespaceId, sampleTime);
|
||||
GroupkeyListenserStatus result = nacosConfigMaintainerServiceImpl.getListeners(dataId, groupName, namespaceId, sampleTime);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -250,7 +244,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any(HttpRequest.class))).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
boolean result = nacosConfigMaintainerService.stopBeta(dataId, groupName, namespaceId);
|
||||
boolean result = nacosConfigMaintainerServiceImpl.stopBeta(dataId, groupName, namespaceId);
|
||||
|
||||
// Assert
|
||||
assertTrue(result);
|
||||
|
@ -274,7 +268,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any(HttpRequest.class))).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
ConfigInfo4Beta result = nacosConfigMaintainerService.queryBeta(dataId, groupName, namespaceId);
|
||||
ConfigInfo4Beta result = nacosConfigMaintainerServiceImpl.queryBeta(dataId, groupName, namespaceId);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -283,55 +277,6 @@ class NacosConfigMaintainerServiceTest {
|
|||
verify(clientHttpProxy, times(1)).executeSyncHttpRequest(any(HttpRequest.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testImportAndPublishConfig() throws Exception {
|
||||
// Arrange
|
||||
final String namespaceId = "testNamespace";
|
||||
final String srcUser = "testUser";
|
||||
final SameConfigPolicy policy = SameConfigPolicy.ABORT;
|
||||
MultipartFile multipartFile = mock(MultipartFile.class);
|
||||
when(multipartFile.getInputStream()).thenReturn(new ByteArrayInputStream("testContent".getBytes()));
|
||||
|
||||
Map<String, Object> expectedResult = new HashMap<>();
|
||||
expectedResult.put("success", true);
|
||||
|
||||
HttpRestResult<String> mockHttpRestResult = new HttpRestResult<>();
|
||||
mockHttpRestResult.setData(JacksonUtils.toJson(new Result<>(expectedResult)));
|
||||
|
||||
when(clientHttpProxy.executeSyncHttpRequest(any(HttpRequest.class))).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
Map<String, Object> result = nacosConfigMaintainerService.importAndPublishConfig(namespaceId, srcUser, policy, multipartFile);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
assertTrue((Boolean) result.get("success"));
|
||||
verify(clientHttpProxy, times(1)).executeSyncHttpRequest(any(HttpRequest.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testExportConfig() throws Exception {
|
||||
// Arrange
|
||||
String dataId = "testDataId";
|
||||
String groupName = "testGroup";
|
||||
String namespaceId = "testNamespace";
|
||||
List<Long> ids = Arrays.asList(1L, 2L, 3L);
|
||||
|
||||
HttpRestResult<String> mockHttpRestResult = new HttpRestResult<>();
|
||||
mockHttpRestResult.setData("testContent");
|
||||
|
||||
when(clientHttpProxy.executeSyncHttpRequest(any(HttpRequest.class))).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
ResponseEntity<byte[]> result = nacosConfigMaintainerService.exportConfig(dataId, groupName, namespaceId, ids);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
assertNotNull(result.getBody());
|
||||
assertEquals("testContent", new String(result.getBody()));
|
||||
verify(clientHttpProxy, times(1)).executeSyncHttpRequest(any(HttpRequest.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCloneConfig() throws Exception {
|
||||
// Arrange
|
||||
|
@ -349,7 +294,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any(HttpRequest.class))).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
Map<String, Object> result = nacosConfigMaintainerService.cloneConfig(namespaceId, configBeansList, srcUser, policy);
|
||||
Map<String, Object> result = nacosConfigMaintainerServiceImpl.cloneConfig(namespaceId, configBeansList, srcUser, policy);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -373,7 +318,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
Page<ConfigHistoryInfo> result = nacosConfigMaintainerService.listConfigHistory(dataId, groupName, namespaceId, pageNo, pageSize);
|
||||
Page<ConfigHistoryInfo> result = nacosConfigMaintainerServiceImpl.listConfigHistory(dataId, groupName, namespaceId, pageNo, pageSize);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -397,7 +342,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
ConfigHistoryInfo result = nacosConfigMaintainerService.getConfigHistoryInfo(dataId, groupName, namespaceId, nid);
|
||||
ConfigHistoryInfo result = nacosConfigMaintainerServiceImpl.getConfigHistoryInfo(dataId, groupName, namespaceId, nid);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -421,7 +366,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
ConfigHistoryInfo result = nacosConfigMaintainerService.getPreviousConfigHistoryInfo(dataId, groupName, namespaceId, id);
|
||||
ConfigHistoryInfo result = nacosConfigMaintainerServiceImpl.getPreviousConfigHistoryInfo(dataId, groupName, namespaceId, id);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -440,7 +385,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
List<ConfigInfoWrapper> result = nacosConfigMaintainerService.getConfigListByNamespace(namespaceId);
|
||||
List<ConfigInfoWrapper> result = nacosConfigMaintainerServiceImpl.getConfigListByNamespace(namespaceId);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -460,7 +405,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
Capacity result = nacosConfigMaintainerService.getCapacityWithDefault(groupName, namespaceId);
|
||||
Capacity result = nacosConfigMaintainerServiceImpl.getCapacityWithDefault(groupName, namespaceId);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -483,7 +428,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
boolean result = nacosConfigMaintainerService.insertOrUpdateCapacity(groupName, namespaceId, quota, maxSize, maxAggrCount, maxAggrSize);
|
||||
boolean result = nacosConfigMaintainerServiceImpl.insertOrUpdateCapacity(groupName, namespaceId, quota, maxSize, maxAggrCount, maxAggrSize);
|
||||
|
||||
// Assert
|
||||
assertTrue(result);
|
||||
|
@ -499,7 +444,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
String result = nacosConfigMaintainerService.updateLocalCacheFromStore();
|
||||
String result = nacosConfigMaintainerServiceImpl.updateLocalCacheFromStore();
|
||||
|
||||
// Assert
|
||||
assertEquals("success", result);
|
||||
|
@ -518,7 +463,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
String result = nacosConfigMaintainerService.setLogLevel(logName, logLevel);
|
||||
String result = nacosConfigMaintainerServiceImpl.setLogLevel(logName, logLevel);
|
||||
|
||||
// Assert
|
||||
assertEquals("success", result);
|
||||
|
@ -536,26 +481,13 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
Object result = nacosConfigMaintainerService.derbyOps(sql);
|
||||
Object result = nacosConfigMaintainerServiceImpl.derbyOps(sql);
|
||||
|
||||
// Assert
|
||||
assertEquals("success", result);
|
||||
verify(clientHttpProxy, times(1)).executeSyncHttpRequest(any());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testImportDerby() throws Exception {
|
||||
// Arrange
|
||||
MultipartFile multipartFile = mock(MultipartFile.class);
|
||||
when(multipartFile.getInputStream()).thenReturn(new ByteArrayInputStream("testContent".getBytes()));
|
||||
|
||||
// Act
|
||||
DeferredResult<String> result = nacosConfigMaintainerService.importDerby(multipartFile);
|
||||
|
||||
// Assert
|
||||
verify(clientHttpProxy, times(1)).executeAsyncHttpRequest(any(), any());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetAllSubClientConfigByIp() throws Exception {
|
||||
// Arrange
|
||||
|
@ -571,7 +503,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
GroupkeyListenserStatus result = nacosConfigMaintainerService.getAllSubClientConfigByIp(ip, all, namespaceId, sampleTime);
|
||||
GroupkeyListenserStatus result = nacosConfigMaintainerServiceImpl.getAllSubClientConfigByIp(ip, all, namespaceId, sampleTime);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -593,7 +525,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
Map<String, Object> result = nacosConfigMaintainerService.getClientMetrics(ip, dataId, groupName, namespaceId);
|
||||
Map<String, Object> result = nacosConfigMaintainerServiceImpl.getClientMetrics(ip, dataId, groupName, namespaceId);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -615,7 +547,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
Map<String, Object> result = nacosConfigMaintainerService.getClusterMetrics(ip, dataId, groupName, namespaceId);
|
||||
Map<String, Object> result = nacosConfigMaintainerServiceImpl.getClusterMetrics(ip, dataId, groupName, namespaceId);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -635,7 +567,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
String result = nacosConfigMaintainerService.raftOps(command, value, groupId);
|
||||
String result = nacosConfigMaintainerServiceImpl.raftOps(command, value, groupId);
|
||||
|
||||
// Assert
|
||||
assertEquals("success", result);
|
||||
|
@ -652,7 +584,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
List<IdGeneratorVO> result = nacosConfigMaintainerService.getIdsHealth();
|
||||
List<IdGeneratorVO> result = nacosConfigMaintainerServiceImpl.getIdsHealth();
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -666,7 +598,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
String logLevel = "INFO";
|
||||
|
||||
// Act
|
||||
nacosConfigMaintainerService.updateLogLevel(logName, logLevel);
|
||||
nacosConfigMaintainerServiceImpl.updateLogLevel(logName, logLevel);
|
||||
|
||||
// Assert
|
||||
verify(clientHttpProxy, times(1)).executeSyncHttpRequest(any());
|
||||
|
@ -682,7 +614,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
Member result = nacosConfigMaintainerService.getSelfNode();
|
||||
Member result = nacosConfigMaintainerServiceImpl.getSelfNode();
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -702,7 +634,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
Collection<Member> result = nacosConfigMaintainerService.listClusterNodes(address, state);
|
||||
Collection<Member> result = nacosConfigMaintainerServiceImpl.listClusterNodes(address, state);
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -719,7 +651,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
String result = nacosConfigMaintainerService.getSelfNodeHealth();
|
||||
String result = nacosConfigMaintainerServiceImpl.getSelfNodeHealth();
|
||||
|
||||
// Assert
|
||||
assertEquals(expectedHealth, result);
|
||||
|
@ -736,7 +668,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
Boolean result = nacosConfigMaintainerService.updateClusterNodes(nodes);
|
||||
Boolean result = nacosConfigMaintainerServiceImpl.updateClusterNodes(nodes);
|
||||
|
||||
// Assert
|
||||
assertTrue(result);
|
||||
|
@ -753,7 +685,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
Boolean result = nacosConfigMaintainerService.updateLookupMode(type);
|
||||
Boolean result = nacosConfigMaintainerServiceImpl.updateLookupMode(type);
|
||||
|
||||
// Assert
|
||||
assertTrue(result);
|
||||
|
@ -770,7 +702,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
Map<String, Connection> result = nacosConfigMaintainerService.getCurrentClients();
|
||||
Map<String, Connection> result = nacosConfigMaintainerServiceImpl.getCurrentClients();
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
||||
|
@ -789,7 +721,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
String result = nacosConfigMaintainerService.reloadConnectionCount(count, redirectAddress);
|
||||
String result = nacosConfigMaintainerServiceImpl.reloadConnectionCount(count, redirectAddress);
|
||||
|
||||
// Assert
|
||||
assertEquals("success", result);
|
||||
|
@ -807,7 +739,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
String result = nacosConfigMaintainerService.smartReloadCluster(loaderFactorStr);
|
||||
String result = nacosConfigMaintainerServiceImpl.smartReloadCluster(loaderFactorStr);
|
||||
|
||||
// Assert
|
||||
assertEquals("success", result);
|
||||
|
@ -826,7 +758,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
String result = nacosConfigMaintainerService.reloadSingleClient(connectionId, redirectAddress);
|
||||
String result = nacosConfigMaintainerServiceImpl.reloadSingleClient(connectionId, redirectAddress);
|
||||
|
||||
// Assert
|
||||
assertEquals("success", result);
|
||||
|
@ -843,7 +775,7 @@ class NacosConfigMaintainerServiceTest {
|
|||
when(clientHttpProxy.executeSyncHttpRequest(any())).thenReturn(mockHttpRestResult);
|
||||
|
||||
// Act
|
||||
ServerLoaderMetrics result = nacosConfigMaintainerService.getClusterLoaderMetrics();
|
||||
ServerLoaderMetrics result = nacosConfigMaintainerServiceImpl.getClusterLoaderMetrics();
|
||||
|
||||
// Assert
|
||||
assertNotNull(result);
|
|
@ -54,7 +54,7 @@ import static org.mockito.Mockito.times;
|
|||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
public class NacosNamingMaintainerServiceTest {
|
||||
public class NacosNamingMaintainerServiceImplTest {
|
||||
|
||||
@Mock
|
||||
private ClientHttpProxy clientHttpProxy;
|
||||
|
@ -66,8 +66,8 @@ public class NacosNamingMaintainerServiceTest {
|
|||
MockitoAnnotations.openMocks(this);
|
||||
Properties properties = new Properties();
|
||||
properties.setProperty("serverAddr", "localhost:8848");
|
||||
nacosNamingMaintainerService = new NacosNamingMaintainerService(properties);
|
||||
Field clientHttpProxyField = NacosNamingMaintainerService.class.getDeclaredField("clientHttpProxy");
|
||||
nacosNamingMaintainerService = new NacosNamingMaintainerServiceImpl(properties);
|
||||
Field clientHttpProxyField = NacosNamingMaintainerServiceImpl.class.getDeclaredField("clientHttpProxy");
|
||||
clientHttpProxyField.setAccessible(true);
|
||||
clientHttpProxyField.set(nacosNamingMaintainerService, clientHttpProxy);
|
||||
}
|
|
@ -37,7 +37,7 @@ public class NamingMaintainerFactoryTest {
|
|||
|
||||
// Assert
|
||||
assertNotNull(service);
|
||||
assertInstanceOf(NacosNamingMaintainerService.class, service);
|
||||
assertInstanceOf(NacosNamingMaintainerServiceImpl.class, service);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -51,7 +51,7 @@ public class NamingMaintainerFactoryTest {
|
|||
|
||||
// Assert
|
||||
assertNotNull(service);
|
||||
assertInstanceOf(NacosNamingMaintainerService.class, service);
|
||||
assertInstanceOf(NacosNamingMaintainerServiceImpl.class, service);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
package com.alibaba.nacos.maintainer.client.remote;
|
||||
|
||||
import com.alibaba.nacos.api.exception.NacosException;
|
||||
import com.alibaba.nacos.common.http.Callback;
|
||||
import com.alibaba.nacos.common.http.HttpRestResult;
|
||||
import com.alibaba.nacos.common.http.client.NacosAsyncRestTemplate;
|
||||
|
@ -138,7 +139,7 @@ public class ClientHttpProxyTest {
|
|||
|
||||
HttpRequest request = new HttpRequest("GET", "/test", new HashMap<>(), new HashMap<>(), null);
|
||||
|
||||
Exception exception = assertThrows(ConnectException.class, () -> {
|
||||
Exception exception = assertThrows(NacosException.class, () -> {
|
||||
clientHttpProxy.executeSyncHttpRequest(request);
|
||||
});
|
||||
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
/*
|
||||
* Copyright 1999-2023 Alibaba Group Holding Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.alibaba.nacos.maintainer.client.remote.mock;
|
||||
|
||||
import com.alibaba.nacos.api.exception.NacosException;
|
||||
import com.alibaba.nacos.client.address.ServerListProvider;
|
||||
import com.alibaba.nacos.client.env.NacosClientProperties;
|
||||
import com.alibaba.nacos.common.http.client.NacosRestTemplate;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class MockServerListProvider implements ServerListProvider {
|
||||
|
||||
private NacosClientProperties properties;
|
||||
|
||||
@Override
|
||||
public void init(NacosClientProperties properties, NacosRestTemplate nacosRestTemplate) throws NacosException {
|
||||
this.properties = properties;
|
||||
nacosRestTemplate.getInterceptors();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getServerList() {
|
||||
if (properties.containsKey("EmptyList")) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return Collections.singletonList("mock-server-list");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOrder() {
|
||||
return Integer.MIN_VALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean match(NacosClientProperties properties) {
|
||||
return properties.containsKey("MockTest");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void shutdown() throws NacosException {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getServerName() {
|
||||
if (isReturnMock()) {
|
||||
return "MockServerName";
|
||||
}
|
||||
return ServerListProvider.super.getServerName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNamespace() {
|
||||
if (isReturnMock()) {
|
||||
return "MockNamespace";
|
||||
}
|
||||
return ServerListProvider.super.getNamespace();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getContextPath() {
|
||||
if (isReturnMock()) {
|
||||
return "MockContextPath";
|
||||
}
|
||||
return ServerListProvider.super.getContextPath();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFixed() {
|
||||
if (isReturnMock()) {
|
||||
return true;
|
||||
}
|
||||
return ServerListProvider.super.isFixed();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAddressSource() {
|
||||
if (isReturnMock()) {
|
||||
return "MockAddressSource";
|
||||
}
|
||||
return ServerListProvider.super.getAddressSource();
|
||||
}
|
||||
|
||||
private boolean isReturnMock() {
|
||||
return properties.getBoolean("ReturnMock", false);
|
||||
}
|
||||
}
|
|
@ -18,7 +18,6 @@
|
|||
|
||||
package com.alibaba.nacos.maintainer.client.utils;
|
||||
|
||||
import com.alibaba.nacos.api.PropertyKeyConst;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
@ -37,18 +36,16 @@ class ParamUtilTest {
|
|||
|
||||
@BeforeEach
|
||||
void before() {
|
||||
defaultConnectTimeout = 1000;
|
||||
defaultReadTimeout = 3000;
|
||||
defaultConnectTimeout = ParamUtil.getConnectTimeout();
|
||||
defaultReadTimeout = ParamUtil.getReadTimeout();
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void after() {
|
||||
ParamUtil.setConnectTimeout(defaultConnectTimeout);
|
||||
ParamUtil.setReadTimeout(defaultReadTimeout);
|
||||
System.clearProperty("NACOS.CONNECT.TIMEOUT");
|
||||
System.clearProperty("NACOS_READ_TIMEOUT");
|
||||
System.clearProperty("PER_TASK_CONFIG_SIZE");
|
||||
System.clearProperty(PropertyKeyConst.SystemEnv.ALIBABA_ALIWARE_ENDPOINT_URL);
|
||||
System.clearProperty("MAINTAINER.CLIENT.CONNECT.TIMEOUT");
|
||||
System.clearProperty("MAINTAINER.CLIENT.READ.TIMEOUT");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -76,7 +73,7 @@ class ParamUtilTest {
|
|||
assertThrows(IllegalArgumentException.class, () -> {
|
||||
Method method = ParamUtil.class.getDeclaredMethod("initConnectionTimeout");
|
||||
method.setAccessible(true);
|
||||
System.setProperty("NACOS.CONNECT.TIMEOUT", "test");
|
||||
System.setProperty("MAINTAINER.CLIENT.CONNECT.TIMEOUT", "test");
|
||||
try {
|
||||
method.invoke(null);
|
||||
} catch (InvocationTargetException e) {
|
||||
|
@ -90,7 +87,7 @@ class ParamUtilTest {
|
|||
assertThrows(IllegalArgumentException.class, () -> {
|
||||
Method method = ParamUtil.class.getDeclaredMethod("initReadTimeout");
|
||||
method.setAccessible(true);
|
||||
System.setProperty("NACOS.READ.TIMEOUT", "test");
|
||||
System.setProperty("MAINTAINER.CLIENT.READ.TIMEOUT", "test");
|
||||
try {
|
||||
method.invoke(null);
|
||||
} catch (InvocationTargetException e) {
|
||||
|
@ -98,18 +95,4 @@ class ParamUtilTest {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void testInitPerTaskConfigSizeWithException() throws Throwable {
|
||||
assertThrows(IllegalArgumentException.class, () -> {
|
||||
Method method = ParamUtil.class.getDeclaredMethod("initPerTaskConfigSize");
|
||||
method.setAccessible(true);
|
||||
System.setProperty("PER_TASK_CONFIG_SIZE", "test");
|
||||
try {
|
||||
method.invoke(null);
|
||||
} catch (InvocationTargetException e) {
|
||||
throw e.getCause();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
#
|
||||
# Copyright 1999-2024 Alibaba Group Holding Ltd.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
#
|
||||
|
||||
com.alibaba.nacos.maintainer.client.remote.mock.MockServerListProvider
|
Loading…
Reference in New Issue