[英]Initialize spring cloud config client, for SDK development
這個問題有點類似於這個現有的問題
我仍在嘗試瀏覽或嘗試找到可以自定義的正確的Spring Boot代碼。 我需要開發與現有配置服務器連接並為鍵提供值的Java SDK。 此SDK將在java應用程序中使用,該應用程序可能是也可能不是spring應用程序。 質量檢查將使用相同的SDK進行配置服務器的回歸測試。
所以問題是,如果給出
我正在查看ConfigServicePropertySourceLocator , CompositePropertySource , ConfigClientAutoConfiguration , ConfigServiceBootstrapConfiguration等類的源。
我需要手動構建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.