use of com.ctrip.framework.apollo.config.data.extension.properties.ApolloClientExtensionProperties in project apollo by ctripcorp.
the class ApolloClientExtensionInitializeFactory method initializeExtension.
/**
* initialize extension
*
* @param binder properties binder
* @param bindHandler properties bind handler
*/
public void initializeExtension(Binder binder, BindHandler bindHandler) {
ApolloClientProperties apolloClientProperties = this.apolloClientPropertiesFactory.createApolloClientProperties(binder, bindHandler);
if (apolloClientProperties == null || apolloClientProperties.getExtension() == null) {
this.log.info("apollo client extension is not configured, default to disabled");
return;
}
ApolloClientExtensionProperties extension = apolloClientProperties.getExtension();
if (!extension.getEnabled()) {
this.log.info("apollo client extension disabled");
return;
}
ApolloClientMessagingType messagingType = extension.getMessagingType();
log.debug(Slf4jLogMessageFormatter.format("apollo client extension messaging type: {}", messagingType));
switch(messagingType) {
case LONG_POLLING:
this.apolloClientLongPollingExtensionInitializer.initialize(apolloClientProperties, binder, bindHandler);
return;
case WEBSOCKET:
this.apolloClientWebsocketExtensionInitializer.initialize(apolloClientProperties, binder, bindHandler);
return;
default:
throw new IllegalStateException("Unexpected value: " + messagingType);
}
}
Aggregations