首页 > 解决方案 > 生菜 6.0.1.RELEASE 已弃用 .withPassword

问题描述

使用早期版本 5.1.6.RELEASE , withPassword 可以完美运行。然而,最新版本显示警告 withPassword 已被弃用。它需要 Array[Char] 或 charSequence 。

  @transient lazy val redisClient = RedisClient.create(
    RedisURI.builder()
      .withHost(redisHost)
      .withPort(redisPort)
      .withPassword(redisAuth)
      .withSsl(true)
      .build()

标签: scalaredislettuce

解决方案


根据文档,您不应使用将withPasswordString 作为参数的方法,而应使用 aCharSequence或 anArray[Char]

  • @deprecated 自 6.0 起。使用 {@link #withPassword(CharSequence)} 或 {@link #withPassword(char[])} 避免字符串缓存。

另请参阅api 文档或源代码中的普通注释。

因此,如果只是将您的代码更改为

@transient lazy val redisClient = RedisClient.create(
    RedisURI.builder()
      .withHost(redisHost)
      .withPort(redisPort)
      .withPassword(redisAuth.toCharArray)
      .withSsl(true)
      .build()

您至少会避免警告(但一种解决方法是引入该弃用的原因)。也许这个问题+答案值得一读:为什​​么 char[] 比 String 更适合密码?.


推荐阅读