tencent cloud

Service Registry and Governance

Configuration Management

PDF
Focus Mode
Font Size
Last updated: 2026-05-07 18:12:23

Scenarios

This document describes how to develop a Java application locally, access Polaris (North Star) via the polaris-sdk approach, and implement the configuration group management feature.

Prerequisite

Before development, please ensure you have downloaded and installed Java and Maven.

Operation Steps

Step 1: Introduce Polaris Dependencies

1. Introduce the polaris sdk Dependency

Modify the pom.xml in the application's root directory to add dependencyManagement for polaris-java:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.tencent.polaris</groupId>
<artifactId>polaris-dependencies</artifactId>
<version>${version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Note:
For polaris-sdk version information, see: Version Information.

2. Introduce polaris starter

<dependencies>
<dependency>
<groupId>com.tencent.polaris</groupId>
<artifactId>polaris-all</artifactId>
</dependency>
</dependencies>

Step 2: Add Polaris Configuration File polaris.yml

1. Create a polaris.yml file in the project's main/resources directory to initialize the polaris-java SDK.
2. Configure the application name, polaris (North Star) server IP address, and other information in the polaris.yml file. For details about the server IP address, refer to: Engine Management > Client Access Address.
global:
serverConnectors:
- id: polaris
protocol: grpc
addresses:
# The IP address needs to be replaced with the client access IP address of the North Star engine you created.
- 127.0.0.1:8091
# Description: Configuration related to monitoring and log data reporting
statReporter:
# Description: Whether to Enable Reporting
enable: true
plugin:
prometheus:
type: push
# Description: Configure the pushgateway IP address, effective only when type == push
# The IP address needs to be replaced with the client access IP address of the North Star engine you created.
address: 127.0.0.1:9091
# Description: Set the execution interval for pushing metric data to pushgateway
# Range: [1s:...], Default value: 10s
pushInterval: 10s
For more polaris.yml configuration information, see default-config.yml.

Step 3: Application Development

1.Obtain Configuration

(1) Initialize the ConfigFileService SDK instance.
import com.tencent.polaris.configuration.factory.ConfigFileServiceFactory;

public static void main(String[] args) throws Exception {
ConfigFileService configFileService = ConfigFileServiceFactory.createConfigFileService();
}
(2) Obtain configuration files.
// Obtain the specific remote configuration file
ConfigFile getConfigFile(String namespace, String fileGroup, String fileName);

// Obtain the specific remote configuration file
ConfigFile getConfigFile(ConfigFileMetadata configFileMetadata);
(3) Monitor the configuration file.
// Obtain the configuration file
ConfigFile configFile = configFileService.getConfigFile(namespace, fileGroup, fileName);
// Add a change listener
configFile.addChangeListener(new ConfigFileChangeListener() {
@Override
public void onChange(ConfigFileChangeEvent event) {
}
});
(4) Monitor changes to the published file list under the configuration group.
After the target configuration group is obtained, call the addChangeListener method of the configuration group to monitor changes to the published file list under this configuration group.
Note:
Requires updating the polaris-java version to v1.14.0 or above.
ConfigFileGroup configFileGroup = configFileService.getConfigFileGroup(namespace, fileGroup);
if (configFileGroup != null) {
configFileGroup.addChangeListener(new ConfigFileGroupChangeListener() {
@Override
public void onChange(ConfigFileGroupChangedEvent event) {
Utils.print(event.toString());
}
});
}
ConfigFileGroupChangedEvent Data Structure
public class ConfigFileGroupChangedEvent {
// Metadata information of the configuration group itself
private final ConfigFileGroupMetadata configFileGroupMetadata;
// The latest published configuration file list under the current configuration group
private final List<ConfigFileMetadata> configFileMetadataList;

public ConfigFileGroupChangedEvent(ConfigFileGroupMetadata configFileGroupMetadata, List<ConfigFileMetadata> configFileMetadataList) {
this.configFileGroupMetadata = configFileGroupMetadata;
this.configFileMetadataList = configFileMetadataList;
}

public ConfigFileGroupMetadata getConfigFileGroupMetadata() {
return configFileGroupMetadata;
}

public List<ConfigFileMetadata> getConfigFileMetadataList() {
return configFileMetadataList;
}

@Override
public String toString() {
return "ConfigFileGroupChangedEvent{" +
"configFileGroupMetadata=" + configFileGroupMetadata +
", configFileMetadataList=" + configFileMetadataList +
'}';
}
}

2.Operation Configuration

(1) Initialize the ConfigFilePublishService SDK instance.
import com.tencent.polaris.configuration.factory.ConfigFileServicePublishFactory;

public static void main(String[] args) throws Exception {
ConfigFilePublishService configFilePublishService = ConfigFileServicePublishFactory.createConfigFilePublishService();
}
(2) Operate configuration files: create, modify, and publish configuration files.
// Create a configuration file
void createConfigFile(String namespace, String fileGroup, String fileName, String content);

// Create a configuration file
void createConfigFile(ConfigFileMetadata configFileMetadata, String content);

// Modify the configuration file
void updateConfigFile(String namespace, String fileGroup, String fileName, String content);

// Modify the configuration file
void updateConfigFile(ConfigFileMetadata configFileMetadata, String content);

// Publish the configuration file
void releaseConfigFile(String namespace, String fileGroup, String fileName);

// Publish the configuration file
void releaseConfigFile(ConfigFileMetadata configFileMetadata);




Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback