簡體   English   中英

ConnectException:連接被拒絕(連接被拒絕) - 通過Jedis連接到Redis

[英]ConnectException: Connection refused (Connection refused)- While connecting to Redis through Jedis

我正在嘗試通過Jedis客戶端連接到redis服務器,但我在連接時遇到異常和堆棧跟蹤 -

org.springframework.data.redis.RedisConnectionFailureException:無法獲取Jedis連接; 嵌套異常是redis.clients.jedis.exceptions.JedisConnectionException:無法從org.springframework.data上的org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:204)獲取池中的資源位於org.springframework.data.redis.core.RedisConnectionUtils的org.springframework.data.redis.core.RedisConnectionUtils.doGetConnection(RedisConnectionUtils.java:129)的.redis.connection.jedis.JedisConnectionFactory.getConnection(JedisConnectionFactory.java:348) org.springframework.data.redis.core.RedisConnectionUtils.getConnection(RedisConnectionUtils.java:79)中的.getConnection(RedisConnectionUtils.java:92)位於org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:194) )org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:169)位於org.springframework.data的org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:91)。 redis.core.DefaultHashOperati ons.get(DefaultHashOperations.java:49)位於java.base /的java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)的jdk.internal.reflect.GeneratedMethodAccessor122.invoke(未知來源) java.lang.reflect.Method.invoke(Method.java:564)org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65)org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable。 java:54)atg.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)at java.base / java.util.concurrent.Executors $ runnableAdapter.call(Executors.java:514)at java.base java.base / java.util.concurrent中的java.base / java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)中的/java.util.concurrent.FutureTask.run(FutureTask.java:264) java.base / java.util中的.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)。 concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:635)at java.base / java.lang.Thread.run(Thread.java:844)引起:redis.clients.jedis.exceptions.JedisConnectionException:無法獲取Redis.clients.jients.JedisPool.getResource(jedisPool.jedis.JedisPool.getResource)中redis.clients.jedis.JedisPool.getResource(JedisPool.java:226)中redis.clients.util.Pool.getResource(Pool.java:53)池中的資源(JedisPool) .java:16)at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:194)... 24更多引起:redis.clients.jedis.exceptions.JedisConnectionException:java.net。 ConnectException:在redis.clients.jients.jedis.BinaryJedis的redis.clients.jedis.BialClient.connect(BinaryClient.java:93)上的redis.clients.jedis.Connection.connect(Connection.java:207)上的連接被拒絕(連接被拒絕) .connect(BinaryJedis.java:1767)位於org.apache.commons.pool2.impl.GenericObjectPool的redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:106)。 在Org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:432)的org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:361)中創建(GenericObjectPool.java:888) at redis.clients.util.Pool.getResource(Pool.java:49)... 27更多引起:java.net.ConnectException:連接被拒絕(連接被拒絕)在java.base / java.net.PlainSocketImpl.socketConnect( java.base / java.net中java.base / java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:400)的java.base / java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:243)中的Native Method)。在redis上java.base / java.net.SocksSocketImpl.connect(SocksSocketImpl.java:402)的java.base / java.net.Socket.connect(Socket.java:591)上的AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:225) .clients.jedis.Connection.connect(Connection.java:184)

這是Jedis Pool的配置 -

@Bean
    public JedisPoolConfig jedisPoolConfig() {
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        jedisPoolConfig.setMaxWaitMillis(5000);
        jedisPoolConfig.setMaxIdle(8);
        jedisPoolConfig.setMinIdle(1);
        jedisPoolConfig.setMaxTotal(10);
        return jedisPoolConfig;
    }

@Bean
public JedisConnectionFactory jedisConnectionFactory() {
        JedisConnectionFactory factory = new JedisConnectionFactory();
        factory.setPoolConfig(jedisPoolConfig());
        factory.setShardInfo(shardInfo());
        factory.setHostName(serviceConfiguration.REDIS_HOST_NAME);
        factory.setPort(serviceConfiguration.REDIS_PORT);
        factory.setUsePool(true);
        return factory;
}

請建議,為了解決這個問題,應該更改或嘗試什么?

確保您已正確配置連接工廠bean

 @Bean
  public JedisConnectionFactory redisConnectionFactory() {

    RedisStandaloneConfiguration config = new RedisStandaloneConfiguration("server", 6379);
    return new JedisConnectionFactory(config);
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM