Java源码示例:org.apache.helix.api.listeners.InstanceConfigChangeListener
示例1
@Override
public void addInstanceConfigChangeListener(InstanceConfigChangeListener listener)
throws Exception {
addListener(listener, new Builder(_clusterName).instanceConfigs(), ChangeType.INSTANCE_CONFIG,
new EventType[] { EventType.NodeChildrenChanged
});
}
示例2
@Deprecated
@Override
public void addInstanceConfigChangeListener(org.apache.helix.InstanceConfigChangeListener listener)
throws Exception {
addListener(listener, new Builder(_clusterName).instanceConfigs(), ChangeType.INSTANCE_CONFIG,
new EventType[] { EventType.NodeChildrenChanged
});
}
示例3
@Override
public void addDataNodeConfigChangeListener(DataNodeConfigChangeListener listener) throws Exception {
helixManager.addInstanceConfigChangeListener((InstanceConfigChangeListener) (instanceConfigs, context) -> {
Iterable<DataNodeConfig> dataNodeConfigs =
() -> instanceConfigs.stream().map(this::convert).filter(Objects::nonNull).iterator();
listener.onDataNodeConfigChange(dataNodeConfigs);
});
}
示例4
private void parseListenerProperties() {
BatchMode batchMode = _listener.getClass().getAnnotation(BatchMode.class);
PreFetch preFetch = _listener.getClass().getAnnotation(PreFetch.class);
String asyncBatchModeEnabled = System.getProperty(SystemPropertyKeys.ASYNC_BATCH_MODE_ENABLED);
if (asyncBatchModeEnabled == null) {
// for backcompatible, the old property name is deprecated.
asyncBatchModeEnabled =
System.getProperty(SystemPropertyKeys.LEGACY_ASYNC_BATCH_MODE_ENABLED);
}
if (asyncBatchModeEnabled != null) {
_batchModeEnabled = Boolean.parseBoolean(asyncBatchModeEnabled);
logger.info("isAsyncBatchModeEnabled by default: {}", _batchModeEnabled);
}
if (batchMode != null) {
_batchModeEnabled = batchMode.enabled();
}
if (preFetch != null) {
_preFetchEnabled = preFetch.enabled();
}
Class listenerClass = null;
switch (_changeType) {
case IDEAL_STATE:
listenerClass = IdealStateChangeListener.class;
break;
case INSTANCE_CONFIG:
if (_listener instanceof ConfigChangeListener) {
listenerClass = ConfigChangeListener.class;
} else if (_listener instanceof InstanceConfigChangeListener) {
listenerClass = InstanceConfigChangeListener.class;
}
break;
case CLUSTER_CONFIG:
listenerClass = ClusterConfigChangeListener.class;
break;
case RESOURCE_CONFIG:
listenerClass = ResourceConfigChangeListener.class;
break;
case CUSTOMIZED_STATE_CONFIG:
listenerClass = CustomizedStateConfigChangeListener.class;
break;
case CONFIG:
listenerClass = ConfigChangeListener.class;
break;
case LIVE_INSTANCE:
listenerClass = LiveInstanceChangeListener.class;
break;
case CURRENT_STATE:
listenerClass = CurrentStateChangeListener.class;
break;
case CUSTOMIZED_STATE_ROOT:
listenerClass = CustomizedStateRootChangeListener.class;
break;
case CUSTOMIZED_STATE:
listenerClass = CustomizedStateChangeListener.class;
break;
case MESSAGE:
case MESSAGES_CONTROLLER:
listenerClass = MessageListener.class;
break;
case EXTERNAL_VIEW:
case TARGET_EXTERNAL_VIEW:
listenerClass = ExternalViewChangeListener.class;
break;
case CUSTOMIZED_VIEW:
listenerClass = CustomizedViewChangeListener.class;
break;
case CUSTOMIZED_VIEW_ROOT:
listenerClass = CustomizedViewRootChangeListener.class;
break;
case CONTROLLER:
listenerClass = ControllerChangeListener.class;
}
Method callbackMethod = listenerClass.getMethods()[0];
try {
Method method = _listener.getClass().getMethod(callbackMethod.getName(),
callbackMethod.getParameterTypes());
BatchMode batchModeInMethod = method.getAnnotation(BatchMode.class);
PreFetch preFetchInMethod = method.getAnnotation(PreFetch.class);
if (batchModeInMethod != null) {
_batchModeEnabled = batchModeInMethod.enabled();
}
if (preFetchInMethod != null) {
_preFetchEnabled = preFetchInMethod.enabled();
}
} catch (NoSuchMethodException e) {
logger.warn("No method {} defined in listener {}", callbackMethod.getName(),
_listener.getClass().getCanonicalName());
}
}
示例5
@Override
public void addInstanceConfigChangeListener(InstanceConfigChangeListener listener)
throws Exception {
// TODO Auto-generated method stub
}
示例6
@Override
public void addInstanceConfigChangeListener(InstanceConfigChangeListener listener)
throws Exception {
// TODO Auto-generated method stub
}
示例7
@Override
public void addInstanceConfigChangeListener(InstanceConfigChangeListener listener)
throws Exception {
// TODO Auto-generated method stub
}
示例8
@Override
public void onInstanceConfigChange(List<InstanceConfig> instanceConfigs, NotificationContext context) {
for (InstanceConfigChangeListener registeredInstanceConfigChangeListener : registeredInstanceConfigChangeListeners) {
registeredInstanceConfigChangeListener.onInstanceConfigChange(instanceConfigs, context);
}
}
示例9
@Override
public void registerInstanceConfigChangeListener(InstanceConfigChangeListener instanceConfigChangeListener) {
registeredInstanceConfigChangeListeners.add(instanceConfigChangeListener);
}
示例10
@Override
public void registerInstanceConfigChangeListener(InstanceConfigChangeListener instanceConfigChangeListener) {
registeredInstanceConfigChangeListeners.add(instanceConfigChangeListener);
}
示例11
@Override
public void onInstanceConfigChange(List<InstanceConfig> instanceConfigs, NotificationContext context) {
for (InstanceConfigChangeListener registeredInstanceConfigChangeListener : registeredInstanceConfigChangeListeners) {
registeredInstanceConfigChangeListener.onInstanceConfigChange(instanceConfigs, context);
}
}
示例12
@Override
public void addInstanceConfigChangeListener(org.apache.helix.InstanceConfigChangeListener listener) throws Exception {
// deprecated InstanceConfigChangeListener is no longer supported in testing
throw new IllegalStateException("Not implemented");
}
示例13
@Override
public void addInstanceConfigChangeListener(InstanceConfigChangeListener instanceConfigChangeListener)
throws Exception {
this.instanceConfigChangeListener = instanceConfigChangeListener;
triggerConfigChangeNotification(true);
}
示例14
/**
* @see InstanceConfigChangeListener#onInstanceConfigChange(List, NotificationContext)
* @param listener
*/
void addInstanceConfigChangeListener(InstanceConfigChangeListener listener) throws Exception;
示例15
/**
* @see InstanceConfigChangeListener#onInstanceConfigChange(List, NotificationContext)
* @param listener
*/
@Deprecated
void addInstanceConfigChangeListener(org.apache.helix.InstanceConfigChangeListener listener) throws Exception;
示例16
@Override
public void addInstanceConfigChangeListener(org.apache.helix.InstanceConfigChangeListener listener) throws Exception {
}
示例17
@Override
public void addInstanceConfigChangeListener(org.apache.helix.InstanceConfigChangeListener listener) throws Exception {
}
示例18
@Override
public void addInstanceConfigChangeListener(org.apache.helix.InstanceConfigChangeListener listener) throws Exception {
}
示例19
/**
* Register a listener for changes to instance config in cluster.
* @param instanceConfigChangeListener listener to add.
*/
void registerInstanceConfigChangeListener(InstanceConfigChangeListener instanceConfigChangeListener);