package com.jthink.skyeye.data.hbase.boot;
import com.jthink.skyeye.data.hbase.api.HbaseTemplate;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
/**
* JThink@JThink
*
* @author JThink
* @version 0.0.1
* @desc hbase auto configuration
* @date 2016-11-16 11:11:27
*/
@org.springframework.context.annotation.Configuration
@EnableConfigurationProperties(HbaseProperties.class)
@ConditionalOnClass(HbaseTemplate.class)
public class HbaseAutoConfiguration {
private static final String HBASE_QUORUM = "hbase.zookeeper.quorum";
@Autowired
private HbaseProperties hbaseProperties;
@Bean
@ConditionalOnMissingBean(HbaseTemplate.class)
public HbaseTemplate hbaseTemplate() {
Configuration configuration = HBaseConfiguration.create();
configuration.set(HBASE_QUORUM, this.hbaseProperties.getQuorum());
return new HbaseTemplate(configuration);
}
}