如何使用配置服务器为微服务提供资源包

时间:2017-04-24 22:21:13

标签: spring spring-cloud-config

我们在项目中使用Spring Cloud配置服务器,该服务器具有多个微服务。使用配置服务器,我们现在将所有微服务的所有属性存储在中央git存储库中。每个微服务都能够根据应用程序名称和配置文件提取自己的属性文件。 我们正在尝试将资源包存储在中央存储库中,并让config-server将这些资源包提供给微服务。我们的资源包包括属性文件,如messages_en.properties,messages_es.properties,messages_cn.properties等。我们可以使用配置文件将资源包加载到配置服务器,但它充当属性文件。 我们在GUI的速度模板中使用资源包。喜欢

    <div class="top-content">
                        <div class="intro-box">
                            <h1 class="font-light">#**springMessageText("welcome.text2","W**elcome to <br/><strong>Our Website!")</strong>
</h1>

有人可以建议他们是如何做到的吗?或使用配置服务器使用资源包加载n的任何链接?

2 个答案:

答案 0 :(得分:2)

我有同样的问题,我通过派生ReloadableResourceBundleMessageSource的新子类并覆盖protected List<String> calculateFilenamesForLocale(String basename, Locale locale)

来解决这个问题。

重写方法会将语言环境变体添加到基本网址,以便我们获得基本网址http://localhost:8888/app-default和Locale.ENGLISH

它假设最后一个索引是&#39; - &#39;在basename中是配置文件的开头。

答案 1 :(得分:0)

我建议将Spring Cloud Config服务器用于在环境(dev / staging / prod / ....)之间更改的属性,或者用于可配置属性,如线程池大小,数据库连接池大小......但不适用于消息包,因为添加/重命名键也假定需要更新或添加模板,需要构建新的工件/二进制文件。