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

com.yuweix.tripod.dao.sharding.ShardingConf Maven / Gradle / Ivy

package com.yuweix.tripod.dao.sharding;


import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;

import java.util.HashMap;
import java.util.Map;


/**
 * @author yuwei
 */
public class ShardingConf {
	@ConditionalOnMissingBean(name = "shardingTableHolder")
	@Bean(name = "shardingTableHolder")
	@ConfigurationProperties(prefix = "tripod", ignoreUnknownFields = true)
	public ShardingTableHolder shardingTableHolder() {
		return new ShardingTableHolder() {
			private Map conf = new HashMap();

			@Override
			public Map getShardingConf() {
				return conf;
			}
		};
	}

	@Bean(name = "ShardingConf$tableConf")
	public Map initTableConfMap(@Qualifier("shardingTableHolder") ShardingTableHolder shardingTableHolder) {
		Map conf = shardingTableHolder.getShardingConf();

		Strategy.TABLE_CONF_MAP.clear();
		if (conf != null) {
			Strategy.TABLE_CONF_MAP.putAll(conf);
		}
		return conf;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy