package com.netflix.appinfo.providers; import javax.inject.Provider; import com.google.inject.Inject; import com.netflix.appinfo.EurekaInstanceConfig; import com.netflix.appinfo.MyDataCenterInstanceConfig; import com.netflix.discovery.DiscoveryManager; import com.netflix.discovery.EurekaNamespace; public class MyDataCenterInstanceConfigProvider implements Provider<EurekaInstanceConfig> { @Inject(optional = true) @EurekaNamespace private String namespace; private MyDataCenterInstanceConfig config; @Override public synchronized MyDataCenterInstanceConfig get() { if (config == null) { if (namespace == null) { config = new MyDataCenterInstanceConfig(); } else { config = new MyDataCenterInstanceConfig(namespace); } // TODO: Remove this when DiscoveryManager is finally no longer used DiscoveryManager.getInstance().setEurekaInstanceConfig(config); } return config; } }