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

io.microsphere.redis.replicator.spring.RedisReplicatorModuleInitializer Maven / Gradle / Ivy

package io.microsphere.redis.replicator.spring;

import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.context.ConfigurableApplicationContext;

/**
 * Redis Replicator Module Initializer
 *
 * @author Mercy
 * @since 1.0.0
 */
public interface RedisReplicatorModuleInitializer {

    /**
     * Check whether the current module supports it
     *
     * @param applicationContext {@link ConfigurableApplicationContext}
     * @return Return null if supported, otherwise, return false
     */
    boolean supports(ConfigurableApplicationContext applicationContext);

    /**
     * The module initializes the Producer module function
     *
     * @param applicationContext {@link ConfigurableApplicationContext}
     * @param registry           {@link BeanDefinitionRegistry}
     */
    void initializeProducerModule(ConfigurableApplicationContext applicationContext, BeanDefinitionRegistry registry);

    /**
     * The module initializes the Consumer module function
     *
     * @param applicationContext {@link ConfigurableApplicationContext}
     * @param registry           {@link BeanDefinitionRegistry}
     */
    void initializeConsumerModule(ConfigurableApplicationContext applicationContext, BeanDefinitionRegistry registry);

}