All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.nepxion.discovery.common.apollo.operation.ApolloOperation Maven / Gradle / Ivy

package com.nepxion.discovery.common.apollo.operation;

/**
 * 

Title: Nepxion Discovery

*

Description: Nepxion Discovery

*

Copyright: Copyright (c) 2017-2050

*

Company: Nepxion

* @author Haojun Ren * @version 1.0 */ import org.springframework.beans.factory.annotation.Autowired; import com.ctrip.framework.apollo.Config; import com.ctrip.framework.apollo.ConfigChangeListener; import com.ctrip.framework.apollo.model.ConfigChange; import com.ctrip.framework.apollo.model.ConfigChangeEvent; import com.google.common.collect.Sets; public class ApolloOperation { @Autowired private Config apolloConfig; public String getConfig(String group, String serviceId) { return apolloConfig.getProperty(group + "-" + serviceId, null); } public ConfigChangeListener subscribeConfig(String group, String serviceId, ApolloSubscribeCallback subscribeCallback) { ConfigChangeListener configListener = new ConfigChangeListener() { @Override public void onChange(ConfigChangeEvent changeEvent) { ConfigChange change = changeEvent.getChange(group + "-" + serviceId); String config = change.getNewValue(); subscribeCallback.callback(config); } }; apolloConfig.addChangeListener(configListener, Sets.newHashSet(group + "-" + serviceId)); return configListener; } public void unsubscribeConfig(String group, String serviceId, ConfigChangeListener configListener) { apolloConfig.removeChangeListener(configListener); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy