多语言-配置文件外置独立的命名空间-I18nMessageNacosService-独立管理configService,不在全局nacosConfigManager托管
This commit is contained in:
@@ -57,7 +57,7 @@ public class I18nMessageNacosAutoConfig {
|
||||
|
||||
@SneakyThrows
|
||||
private void initTip(Locale locale, String content) {
|
||||
NacosConfigProperties i18nNacosConfig = messageI18nNacosService.getI18nNacosConfigManager().getNacosConfigProperties();
|
||||
NacosConfigProperties i18nNacosConfig = messageI18nNacosService.getI18nNacosServiceConfig();
|
||||
log.info("开始初始化国际化配置! 语言 {} Nacos地址:{} 提示语命名空间:{}",
|
||||
locale.getLanguage(), i18nNacosConfig.getServerAddr(), i18nNacosConfig.getNamespace());
|
||||
|
||||
@@ -70,7 +70,7 @@ public class I18nMessageNacosAutoConfig {
|
||||
dataId = dataIdSb.toString();
|
||||
|
||||
if (null == content){
|
||||
content = messageI18nNacosService.getI18nNacosConfigManager().getConfigService().getConfigAndSignListener(dataId, i18nNacosConfig.getGroup(), 5000,
|
||||
content = messageI18nNacosService.getI18nNacosConfigService().getConfigAndSignListener(dataId, i18nNacosConfig.getGroup(), 5000,
|
||||
new Listener() {
|
||||
@Override
|
||||
public void receiveConfigInfo(String configInfo) {
|
||||
|
@@ -1,10 +1,12 @@
|
||||
package com.accompany.core.service;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.accompany.core.base.SpringContextHolder;
|
||||
import com.accompany.core.config.I18nMessageConfig;
|
||||
import com.accompany.core.config.I18nMessageNacosAutoConfig;
|
||||
import com.alibaba.cloud.nacos.NacosConfigManager;
|
||||
import com.alibaba.cloud.nacos.NacosConfigProperties;
|
||||
import com.alibaba.nacos.api.NacosFactory;
|
||||
import com.alibaba.nacos.api.config.ConfigService;
|
||||
import lombok.Getter;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -37,28 +39,23 @@ public class MessageI18nNacosService implements InitializingBean {
|
||||
private NacosConfigManager nacosConfigManager;
|
||||
@Autowired
|
||||
private I18nMessageConfig i18nMessageConfig;
|
||||
|
||||
@Autowired
|
||||
private I18nMessageNacosAutoConfig i18nMessageNacosAutoConfig;
|
||||
|
||||
@Getter
|
||||
private NacosConfigManager i18nNacosConfigManager;
|
||||
private NacosConfigProperties i18nNacosServiceConfig;
|
||||
@Getter
|
||||
private ConfigService i18nNacosConfigService;
|
||||
|
||||
/**
|
||||
* 国际化英文配置属性文件
|
||||
*/
|
||||
public static final String MESSAGES_EN_CONF_DATA_ID = "messages_en.properties";
|
||||
|
||||
/**
|
||||
* 国际化阿拉伯语语配置属性文件
|
||||
*/
|
||||
public static final String MESSAGES_AR_CONF_DATA_ID = "messages_ar.properties";
|
||||
|
||||
/**
|
||||
* 国际化中文配置属性文件
|
||||
*/
|
||||
public static final String MESSAGES_ZH_CONF_DATA_ID = "messages_zh.properties";
|
||||
|
||||
/**
|
||||
* 国际化中文配置属性文件
|
||||
*/
|
||||
@@ -77,7 +74,7 @@ public class MessageI18nNacosService implements InitializingBean {
|
||||
@SneakyThrows
|
||||
public boolean saveOrUpdateProperties(String key, String value, String messageId) {
|
||||
// 创建Nacos配置服务实例
|
||||
String content = i18nNacosConfigManager.getConfigService().getConfig(messageId, GROUP, 5000);
|
||||
String content = i18nNacosConfigService.getConfig(messageId, GROUP, 5000);
|
||||
Properties properties = new Properties();
|
||||
properties.load(new StringReader(content));
|
||||
// 修改属性值
|
||||
@@ -85,7 +82,7 @@ public class MessageI18nNacosService implements InitializingBean {
|
||||
String newContent = propertiesToString(properties);
|
||||
//i18nMessageNacosAutoConfig.saveAsFileWriter(messageId, newContent);
|
||||
// 更新配置
|
||||
return i18nNacosConfigManager.getConfigService().publishConfig(
|
||||
return i18nNacosConfigService.publishConfig(
|
||||
messageId,
|
||||
GROUP,
|
||||
newContent);
|
||||
@@ -94,7 +91,7 @@ public class MessageI18nNacosService implements InitializingBean {
|
||||
@SneakyThrows
|
||||
public Properties getProperties(String messageId) {
|
||||
// 创建Nacos配置服务实例
|
||||
String content = i18nNacosConfigManager.getConfigService().getConfig(messageId, GROUP, 5000);
|
||||
String content = i18nNacosConfigService.getConfig(messageId, GROUP, 5000);
|
||||
Properties properties = new Properties();
|
||||
properties.load(new StringReader(content));
|
||||
return properties;
|
||||
@@ -142,11 +139,13 @@ public class MessageI18nNacosService implements InitializingBean {
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
NacosConfigProperties i18nNacosServiceConfig = new NacosConfigProperties();
|
||||
i18nNacosServiceConfig = new NacosConfigProperties();
|
||||
BeanUtils.copyProperties(nacosConfigManager.getNacosConfigProperties(), i18nNacosServiceConfig);
|
||||
i18nNacosServiceConfig.setNamespace(i18nMessageConfig.getNameSpace());
|
||||
i18nNacosServiceConfig.setFileExtension(null);
|
||||
i18nNacosServiceConfig.setSharedConfigs(null);
|
||||
|
||||
i18nNacosConfigManager = new NacosConfigManager(i18nNacosServiceConfig);
|
||||
i18nNacosConfigService = NacosFactory.createConfigService(i18nNacosServiceConfig.assembleConfigServiceProperties());
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user