2016-07-31 223 views
0

我正在嘗試使用spring-data-redis將AWS elasticache redis與Spring啓動應用程序集成。使用服務時獲得以下例外。來自Spring Boot App的AWS Redis集羣連接問題

Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool 
org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:191) 

... 84 more 

Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused 
at redis.clients.jedis.Connection.connect(Connection.java:164) 

使用下面的代碼

@Bean 
public RedisConnectionFactory jedisConnectionFactory(JedisPoolConfig jedisPoolConfig) { 
    JedisConnectionFactory redisConnectionFactory = new JedisConnectionFactory(jedisPoolConfig); 
    redisConnectionFactory.setHostName("AWS primary replication group endpoint"); 
    redisConnectionFactory.setPort(6379); 
    redisConnectionFactory.setUsePool(true); 
    redisConnectionFactory.setTimeout(3600); 
    return redisConnectionFactory; 
} 

我能夠在服務被部署到從我的EC2實例連接到AWS Redis的。任何示例代碼或步驟都會非常有用。

+0

您可以使用'redis-cli'成功連接到服務器嗎? – mp911de

+0

是的,我可以從redis-cli連接 – user3319797

回答

0

可能會晚點到這個黨,但它是我的經驗,在application.ymlapplication.properties或在命令行作爲一個-D參數聲明spring.redis.host沒有內RedisAutoConfiguration通過RedisProperties尊重。

最終什麼工作對我來說是出口環境變量,像這樣

export SPRING_REDIS_HOST=...

啓動嘗試連接到ElastiCache服務之前。