簡體   English   中英

初始化spring cloud config客戶端,用於SDK開發

[英]Initialize spring cloud config client, for SDK development

這個問題有點類似於這個現有的問題

我仍在嘗試瀏覽或嘗試找到可以自定義的正確的Spring Boot代碼。 我需要開發與現有配置服務器連接並為鍵提供值的Java SDK。 此SDK將在java應用程序中使用,該應用程序可能是也可能不是spring應用程序。 質量檢查將使用相同的SDK進行配置服務器的回歸測試。

所以問題是,如果給出

  1. 配置服務器URL
  2. 應用名稱
  3. 活動配置文件(不需要標簽,它將是默認主文件),我可以初始化一些配置客戶端類嗎,它將給我一些簡單的方法,例如public String getKeyValue(final String key)

我正在查看ConfigServicePropertySourceLocatorCompositePropertySourceConfigClientAutoConfigurationConfigServiceBootstrapConfiguration等類的源。

我需要手動構建Environment對象嗎? 如果是,怎么辦?

我有一些成功。 發布可能的答案供其他人進一步調整。

@SpringBootApplication
public class ConfigSDKApp {

    @Autowired
    public SomeSpringBean someBean = null;

    private static ConfigSDKApp INSTANCE = null;

    public synchronized static ConfigSDKApp getInstance(String[] args) {
        if (null != INSTANCE) {
            return INSTANCE;
        }

        SpringApplication sprApp = new SpringApplication(ConfigSDKApp.class);
    sprApp.setWebEnvironment(false);
    ConfigurableApplicationContext appContext = sprApp.run(args);
    ConfigSDKApp app = appContext.getBean(ConfigSDKApp.class);//new ConfigSDKApp();

        INSTANCE = app;
        return INSTANCE;
    }
}

這是單例類(但是公共構造函數)。 因此,代碼氣味。 另外,如果此SDK與springboot客戶端一起運行,該怎么辦。 ApplicationContext和環境已經初始化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM