Search in sources :

Example 1 with ApolloClientMessagingType

use of com.ctrip.framework.apollo.config.data.extension.enums.ApolloClientMessagingType 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);
    }
}
Also used : ApolloClientProperties(com.ctrip.framework.apollo.config.data.extension.properties.ApolloClientProperties) ApolloClientExtensionProperties(com.ctrip.framework.apollo.config.data.extension.properties.ApolloClientExtensionProperties) ApolloClientMessagingType(com.ctrip.framework.apollo.config.data.extension.enums.ApolloClientMessagingType)

Aggregations

ApolloClientMessagingType (com.ctrip.framework.apollo.config.data.extension.enums.ApolloClientMessagingType)1 ApolloClientExtensionProperties (com.ctrip.framework.apollo.config.data.extension.properties.ApolloClientExtensionProperties)1 ApolloClientProperties (com.ctrip.framework.apollo.config.data.extension.properties.ApolloClientProperties)1