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

net.oschina.j2cache.autoconfigure.J2CacheSpringRedisAutoConfiguration Maven / Gradle / Ivy

There is a newer version: 2.8.0-release
Show newest version
package net.oschina.j2cache.autoconfigure;

import java.io.Serializable;

import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

import net.oschina.j2cache.cache.support.util.J2CacheSerializer;

/**
 * 对spring redis支持的配置入口
 * @author zhangsaizz
 *
 */
@Configuration
@AutoConfigureAfter({RedisAutoConfiguration.class})
@AutoConfigureBefore({J2CacheAutoConfiguration.class})
public class J2CacheSpringRedisAutoConfiguration {

	@Bean("j2CacheRedisTemplate")
	@ConditionalOnBean(RedisConnectionFactory.class)
	public RedisTemplate j2CacheRedisTemplate(RedisConnectionFactory connectionFactory) {
		RedisTemplate template = new RedisTemplate();
		template.setKeySerializer(new StringRedisSerializer());
		template.setHashKeySerializer(new StringRedisSerializer());
		template.setDefaultSerializer(new J2CacheSerializer());
		template.setConnectionFactory(connectionFactory);
		return template;
	}

    @Bean("j2CacheRedisMessageListenerContainer")
    RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory){
        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
        container.setConnectionFactory(connectionFactory);
        return container;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy