当前位置: 首页 > 知识库问答 >
问题:

Spring Cloud:从配置服务器加载消息源

韩靖琪
2023-03-14
@Configuration
public class Config {

    @Bean
    public ReloadableResourceBundleMessageSource messageSource() {
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        messageSource.setBasename("classpath:/messages/messages");
        messageSource.setDefaultEncoding("UTF-8");
        return messageSource;
    }
}

共有1个答案

上官思博
2023-03-14

如果要从配置服务加载它们,只需为它指向配置路径。

这个类的值是从bootstrap.yml中读取的。

我在application.yml级别上有一个名为“locale”的文件夹,里面有文件“messages_en_gb.properties”。

Structure:
  application.yml
  locale (folder)
     messages_en_GB.properties
@Configuration
public class MessageConfig {

  private static final Logger LOGGER = LoggerFactory.getLogger(MessageConfig.class);

  @Value("${spring.cloud.config.uri}")
  private String cloudUri;

  @Value("${spring.cloud.config.label}")
  private String cloudLabel;

  @Value("${spring.profiles.active}")
  private String profile;

  @Value("${spring.cloud.config.enabled:false}")
  private boolean cloudEnabled;

  @Bean
  @RefreshScope
  public ReloadableResourceBundleMessageSource messageSource() {
    ReloadableResourceBundleMessageSource messageSource =
        new ReloadableResourceBundleMessageSource();
    messageSource.setBasename(buildMessageLocation());
    messageSource.setDefaultEncoding("UTF-8");
    return messageSource;
  }

  private String buildMessageLocation() {

    if (Strings.isNullOrEmpty(cloudUri) || Strings.isNullOrEmpty(profile) || Strings
        .isNullOrEmpty(cloudLabel) || !cloudEnabled) {
      LOGGER.info("The cloud configuration is disabled, using local messages properties file");
      return "classpath:locale/messages";
    }

    return cloudUri + "/" + profile + "/" + profile + "/" + cloudLabel + "/locale/" + "messages";
  }
 类似资料:
  • 我在ubuntu中使用sudo-apt-get安装了ApacheTomcat7。我已经使用Windows将apache tomcat 7添加到eclipse中 无法在localhost配置 /Servers/Tomcatv7.0服务器上加载Tomcat服务器配置。配置可能已损坏或不完整。 我提供的tomcat7路径是/usr/share/tomcat7

  • 错误: > 连客户端都没有启动 http://localhost:8080/ 将spring.config.import=configServer:属性添加到您的配置中。如果不需要配置,则添加spring.config.import=optional:configserver:。要禁用此检查,请设置spring.cloud.config.enabled=false或spring.cloud.con

  • 我试图在Ubuntu(14.04)上使用eclipse Java EE(4.5.1)创建一个动态web应用程序,并且Tomcat是V7.0 当我尝试运行服务器时,它提示“无法在服务器/Tomcat V7.0 server at localhost-config加载Tomcat服务器配置”。 在尝试运行服务器之前,我已经将/etc/tomcat7的所有文件复制到/workspace/servers/

  • 我们来看看如何配置服务器端的 SSH 访问。 本例中,我们将使用 authorized_keys 方法来对用户进行认证。 同时我们假设你使用的操作系统是标准的 Linux 发行版,比如 Ubuntu。 首先,创建一个操作系统用户 git,并为其建立一个 .ssh 目录。 $ sudo adduser git $ su git $ cd $ mkdir .ssh && chmod 700 .ssh

  • 服务器配置 当你需要一台服务器的时候,首先需要向你的leader 提出申请,你的 leader 会利用公司的阿里云账户购买服务器实例,并且会把服务器的公网IP以及账号密码发送给你。 以下章节就叙述了当拿到一台全新的阿里云服务器实例时,我们需要怎样的工具以及我们需要经历哪些步骤对服务器进行配置。