【问题标题】:Azure Redis connection failure when using SSL使用 SSL 时 Azure Redis 连接失败
【发布时间】:2020-02-28 00:56:17
【问题描述】:

我正在使用 Azure Redis 将 Spring Session 与 Redis 一起使用。

使用非 SSL 端口 6379 一切正常。但是使用 SSL 端口 6380,我收到此错误:

ERROR (org.springframework.data.redis.listener.RedisMessageListenerContainer:651) || - Connection failure occurred. Restarting subscription task after 5000 ms

就是这样。没有更多信息。

这是我的 Redis 配置:

<bean id="redisPassword" class="org.springframework.data.redis.connection.RedisPassword">
    <constructor-arg index="0" value="${spring.redis.password}"/>
</bean>

<bean id="redisStandaloneConfiguration" 
      class="org.springframework.data.redis.connection.RedisStandaloneConfiguration">
    <property name="hostName" value="${spring.redis.host}"/>
    <property name="port" value="${spring.redis.port}"/>
    <property name="password" ref="redisPassword"/>
</bean>

<util:constant id="configureRedisAction"
               static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>

<bean id="lettuceClientConfiguration"
      class="org.springframework.data.redis.connection.lettuce.DefaultLettuceClientConfiguration" 
      factory-method="defaultConfiguration">
</bean>
<context:annotation-config/>
<bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration" 
      p:configureRedisAction-ref="configureRedisAction"/>

<bean class="org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory">
    <constructor-arg index="0" ref="redisStandaloneConfiguration"/>
    <constructor-arg index="1" ref="lettuceClientConfiguration"/>
</bean>

连接失败的原因是什么?

【问题讨论】:

标签: azure redis


【解决方案1】:
<util:constant id="configureRedisAction"
               static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>

<context:annotation-config/>
<bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"
      p:configureRedisAction-ref="configureRedisAction"/>

<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
    <property name="maxTotal" value="200" />
    <property name="maxIdle" value="50" />
    <property name="maxWaitMillis" value="30000" />
    <property name="minIdle" value="10"/>
</bean>

<bean class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
    <property name="hostName" value="${spring.redis.host}" />
    <property name="port" value="${spring.redis.port}" />
    <property name="poolConfig" ref="jedisPoolConfig" />
    <property name="usePool" value="true" />
    <property name="useSsl" value="${spring.redis.ssl}"/>
    <property name="password" value="${spring.redis.password}"/>
</bean>

【讨论】:

  • 看起来 JedisConnectionFactory 正在弃用其中一些字段。您是否完全删除了 RedisStandaloneConfiguration bean?
猜你喜欢
  • 1970-01-01
  • 2020-06-16
  • 2021-03-08
  • 2015-09-22
  • 2018-06-22
  • 1970-01-01
  • 2015-11-12
  • 1970-01-01
相关资源
最近更新 更多