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

com.foreveross.springboot.dubbo.autoconfigure.DubboxAutoConfiguration Maven / Gradle / Ivy

There is a newer version: 2.3.8
Show newest version
package com.foreveross.springboot.dubbo.autoconfigure;

import com.foreveross.springboot.dubbo.commands.DubboxServiceLatchCommandLineRunner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.core.annotation.Order;

/**
 * 应用程序启动过程中,Spring Boot使用SpringFactoriesLoader类加载器查找org.springframework.boot.autoconfigure.EnableAutoConfiguration关键字对应的Java配置文件。
 * Spring Boot会遍历在各个jar包种META-INF目录下的spring.factories文件,构建成一个配置文件链表。
 */

@Configuration
@Order
@Import({DubboxConfig.class, JsonDateSerializer.class, SystemPolicyCurator.class})
public class DubboxAutoConfiguration {

    protected Logger logger = LoggerFactory.getLogger(this.getClass());


    @Value("${shutdown.latch.domain.name:com.foreveross.lifecycles}")
    private String shutdownLatchDomainName;


    @Bean
    @ConditionalOnClass(name = "com.alibaba.dubbo.rpc.Exporter")
    public DubboxServiceLatchCommandLineRunner configureDubboxServiceLatchCommandLineRunner() {
        logger.debug("DubboxAutoConfiguration enabled by adding DubboxServiceLatchCommandLineRunner.\nShutdownLatchDomainName is " + this.shutdownLatchDomainName);

        DubboxServiceLatchCommandLineRunner runner = new DubboxServiceLatchCommandLineRunner();
        runner.setDomain(shutdownLatchDomainName);
        return runner;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy