I am using spring session with redis, but I want to disable it while doing tests. My class is annotated:
@ActiveProfiles("integrationtests")
and my application-integrationtests.tml file contains:
spring.autoconfigure.exclude: org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration
but it still fails with:
Caused by: org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
tests work if I turn redis-server on, but ofcourse I dont want to keep it that way ; )
//update
ive been trying with
@SpringBootTest(classes = {Application.class})@ActiveProfiles("integrationtests")
and Application.class with excluded Redis:
@SpringBootApplication(exclude={SessionAutoConfiguration.class, RedisAutoConfiguration.class, RedisHttpSessionConfiguration.class})public class Application {public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args);}}
but it fails with:
Error creating bean with name 'redisMessageListenerContainer' defined in class path resource [org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.class]
spring autoconfigure debug see that Ive excluded this class, but it has no effect:
Exclusions:-----------org.springframework.boot.autoconfigure.session.SessionAutoConfigurationorg.springframework.boot.autoconfigure.data.redis.RedisAutoConfigurationorg.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration