![JAR search and dependency download from the Maven repository](/logo.png)
org.zodiac.autoconfigure.feign.context.RedisReferenceRepositoryAutoConfiguration Maven / Gradle / Ivy
package org.zodiac.autoconfigure.feign.context;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.core.annotation.Order;
import org.zodiac.autoconfigure.feign.condition.ConditionalOnFeignConsumerEnabled;
/**
* Notes: There is no need to check the automatic configuration only in the 'SpringBoot + Feign' environment, because it
* is required in both 'SpringBoot + Feign' and 'SpringCloud + Feign'.
*
*/
@SpringBootConfiguration
@ConditionalOnFeignConsumerEnabled
@ConditionalOnClass(value = {feign.Client.class, org.zodiac.feign.core.FeignConsumerClientProvider.class})
public class RedisReferenceRepositoryAutoConfiguration {
public RedisReferenceRepositoryAutoConfiguration() {
super();
}
@Bean
@ConditionalOnMissingBean
protected org.zodiac.feign.core.context.RedisReferenceRepositoryConfigurer redisReferenceRepositoryConfigurer() {
return new org.zodiac.feign.core.context.RedisReferenceRepositoryConfigurer();
}
/*优先级最高。*/
@Bean
@Order(value = 1)
@ConditionalOnClass(value = {org.springframework.data.redis.core.RedisOperations.class})
@ConditionalOnMissingBean(value = {org.zodiac.core.remote.context.RemoteContextHolder.ReferenceRepository.class})
protected org.zodiac.core.remote.context.RemoteContextHolder.ReferenceRepository redisTemplateReferenceRepository(org.zodiac.feign.core.context.RedisReferenceRepositoryConfigurer redisReferenceRepositoryConfigurer,
ObjectProvider> redisTemplateProvider) {
return redisReferenceRepositoryConfigurer.redisTemplateReferenceRepository(redisTemplateProvider.getIfAvailable());
}
@Bean
@Order(value = 2)
@ConditionalOnClass(value = {redis.clients.jedis.Jedis.class, org.zodiac.redis.RedisClientType.class})
@ConditionalOnMissingBean(value = {org.zodiac.core.remote.context.RemoteContextHolder.ReferenceRepository.class})
protected org.zodiac.core.remote.context.RemoteContextHolder.ReferenceRepository jedisReferenceRepository(org.zodiac.feign.core.context.RedisReferenceRepositoryConfigurer redisReferenceRepositoryConfigurer,
ObjectProvider jedisClientProvider) {
return redisReferenceRepositoryConfigurer.jedisReferenceRepository(jedisClientProvider.getIfAvailable());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy