Scala Play framework如何将redis用作启用tls的缓存服务器

Scala Play framework如何将redis用作启用tls的缓存服务器,scala,redis,playframework,Scala,Redis,Playframework,我正在尝试使用Redis作为使用play framework编写的scala web服务器的缓存服务器。 我正在按照scala的剧本使用这个库。但我无法使用enabled连接到我的redis服务器,这是版本6中的一项新功能。我尝试了play redis库中解释的集群、单机和aws集群选项 当我尝试连接到没有启用tls的本地redis时,它工作正常 播放版本-2.8.x Scala版本-2.13.5 方法在我的服务类中使用缓存模块 cache.getOrElseUpdate[QueryRespon

我正在尝试使用Redis作为使用play framework编写的scala web服务器的缓存服务器。 我正在按照scala的剧本使用这个库。但我无法使用enabled连接到我的redis服务器,这是版本6中的一项新功能。我尝试了play redis库中解释的集群、单机和aws集群选项

当我尝试连接到没有启用tls的本地redis时,它工作正常

播放版本-2.8.x
Scala版本-2.13.5

方法在我的服务类中使用缓存模块

cache.getOrElseUpdate[QueryResponse](query.toString) {
      psqlDb.withConnection[Future[QueryResponse]] { implicit conn:Connection =>
        val queryList: Seq[Map[String, ResponseData]] = query.dataQuery.map(query => {
          val result: List[Map[String, String]] = SQL(SQLQueryBuilder.getSQLQuery(query)).as(parser.*)
          Map(query.dataLabel -> ResponseData(result))
        })
        Future{QueryResponse(data = queryList)}
      }
    }
我的播放配置文件

    instances {
      play {
        host:    mycache.dns.com
        source:  aws-cluster
      }
    }
  }
连接到启用tls的redis时出错

2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool  HikariPool-2 - Pool stats (total=2, active=0, idle=2, waiting=0)
2021-05-21 10:25:23 INFO  redis.actors.RedisClientActor akka://application/user/RedisClientPool-$b Connect to /xx.xx.x.xx:6379
2021-05-21 10:25:23 DEBUG akka.io.TcpOutgoingConnection akka://application/system/IO-TCP/selectors/$a/0 Attempting connection to [/xx.xx.x.xx:6379]
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool  HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@628938f6
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool  HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@52e89e1b
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool  HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@798d5238
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool  HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@4391945e
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool  HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@1b41b4c4
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool  HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@513c3200
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool  HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@47cd4b77
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool  HikariPool-2 - Added connection org.postgresql.jdbc.PgConnection@35bf221e
2021-05-21 10:25:23 DEBUG com.zaxxer.hikari.pool.HikariPool  HikariPool-2 - After adding stats (total=10, active=0, idle=10, waiting=0)
2021-05-21 10:25:23 DEBUG akka.io.TcpOutgoingConnection akka://application/system/IO-TCP/selectors/$a/0 Connection established to [/xx.xx.x.xx:6379]
2021-05-21 10:25:23 INFO  redis.actors.RedisClientActor akka://application/user/RedisClientPool-$b Connected to /xx.xx.x.xx:6379
2021-05-21 10:25:28 DEBUG com.zaxxer.hikari.pool.HikariPool  HikariPool-1 - Pool stats (total=10, active=0, idle=10, waiting=0)
2021-05-21 10:25:28 DEBUG com.zaxxer.hikari.pool.HikariPool  HikariPool-1 - Fill pool skipped, pool is at sufficient level.
2021-05-21 10:25:33 ERROR p.api.http.DefaultHttpErrorHandler  

! @7jn65pj3d - Internal server error, for (POST) [/my/url/path] ->
 
play.api.UnexpectedException: Unexpected exception[TimeoutException: Future timed out after [10 seconds]]
        at play.core.server.DevServerStart$$anon$1.reload(DevServerStart.scala:254)
        at play.core.server.DevServerStart$$anon$1.get(DevServerStart.scala:148)
        at play.core.server.AkkaHttpServer.handleRequest(AkkaHttpServer.scala:302)
        at play.core.server.AkkaHttpServer.$anonfun$createServerBinding$1(AkkaHttpServer.scala:224)
        at akka.stream.impl.fusing.MapAsync$$anon$30.onPush(Ops.scala:1297)
        at akka.stream.impl.fusing.GraphInterpreter.processPush(GraphInterpreter.scala:541)
        at akka.stream.impl.fusing.GraphInterpreter.processEvent(GraphInterpreter.scala:495)
        at akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:390)
        at akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:625)
        at akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:502)
        at akka.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:600)
        at akka.stream.impl.fusing.ActorGraphInterpreter.akka$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:775)
        at akka.stream.impl.fusing.ActorGraphInterpreter$$anonfun$receive$1.applyOrElse(ActorGraphInterpreter.scala:790)
        at akka.actor.Actor.aroundReceive(Actor.scala:537)
        at akka.actor.Actor.aroundReceive$(Actor.scala:535)
        at akka.stream.impl.fusing.ActorGraphInterpreter.aroundReceive(ActorGraphInterpreter.scala:691)
        at akka.actor.ActorCell.receiveMessage(ActorCell.scala:579)
        at akka.actor.ActorCell.invoke(ActorCell.scala:547)
        at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270)
        at akka.dispatch.Mailbox.run(Mailbox.scala:231)
        at akka.dispatch.Mailbox.exec(Mailbox.scala:243)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Caused by: java.util.concurrent.TimeoutException: Future timed out after [10 seconds]
        at scala.concurrent.impl.Promise$DefaultPromise.tryAwait0(Promise.scala:212)
        at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:225)
        at scala.concurrent.Await$.$anonfun$result$1(package.scala:201)
        at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread$$anon$3.block(ThreadPoolBuilder.scala:174)
        at java.base/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3118)
        at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread.blockOn(ThreadPoolBuilder.scala:172)
        at scala.concurrent.Await$.result(package.scala:124)
        at redis.RedisCluster.<init>(RedisCluster.scala:56)
        at play.api.cache.redis.connector.RedisCommandsCluster$$anon$2.<init>(RedisCommands.scala:106)
        at play.api.cache.redis.connector.RedisCommandsCluster.<init>(RedisCommands.scala:106)
        at play.api.cache.redis.connector.RedisCommandsProvider.get$lzycompute(RedisCommands.scala:21)
        at play.api.cache.redis.connector.RedisCommandsProvider.get(RedisCommands.scala:20)
        at play.api.cache.redis.connector.RedisConnectorProvider.commands$lzycompute(RedisConnectorProvider.scala:15)
        at play.api.cache.redis.connector.RedisConnectorProvider.commands(RedisConnectorProvider.scala:15)
        at play.api.cache.redis.connector.RedisConnectorProvider.get$lzycompute(RedisConnectorProvider.scala:17)
        at play.api.cache.redis.connector.RedisConnectorProvider.get(RedisConnectorProvider.scala:17)
        at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.redisConnector$lzycompute(RedisCaches.scala:33)
        at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.redisConnector(RedisCaches.scala:33)
        at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.async$lzycompute(RedisCaches.scala:34)
        at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.async(RedisCaches.scala:34)
        at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.java$lzycompute(RedisCaches.scala:38)
        at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.java(RedisCaches.scala:38)
        at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.javaSync$lzycompute(RedisCaches.scala:40)
        at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.javaSync(RedisCaches.scala:40)
        at play.api.cache.redis.impl.RedisCachesProvider$$anon$1.javaSync(RedisCaches.scala:32)
        at play.api.cache.redis.GuiceProvider$.$anonfun$bindings$7(RedisCacheModule.scala:77)
        at play.api.cache.redis.NamedCacheInstanceProvider.get$lzycompute(RedisCacheModule.scala:121)
        at play.api.cache.redis.NamedCacheInstanceProvider.get(RedisCacheModule.scala:121)
        at com.google.inject.util.Providers$GuicifiedProvider.get(Providers.java:121)
        at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:57)
        at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:60)
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)
        at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
        at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
        at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:296)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
        at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
        at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
        at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:296)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
        at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
        at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:296)
        at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
        at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
        at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:296)
        at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
        at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40)
        at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:296)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
        at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:60)
        at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1100)
        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1138)
        at play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:436)
        at play.api.inject.guice.GuiceInjector.instanceOf(GuiceInjectorBuilder.scala:431)
        at play.api.inject.ContextClassLoaderInjector.$anonfun$instanceOf$2(Injector.scala:119)
        at play.api.inject.ContextClassLoaderInjector.withContext(Injector.scala:128)
        at play.api.inject.ContextClassLoaderInjector.instanceOf(Injector.scala:119)
        at play.api.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.scala:155)
        at play.api.inject.guice.GuiceApplicationLoader.load(GuiceApplicationLoader.scala:21)
        at play.core.server.DevServerStart$$anon$1.$anonfun$reload$2(DevServerStart.scala:193)
        at play.utils.Threads$.withContextClassLoader(Threads.scala:22)
        at play.core.server.DevServerStart$$anon$1.reload(DevServerStart.scala:185)
        ... 25 common frames omitted
2021-05-21 10:25:23调试com.zaxxer.hikari.pool.HikariPool HikariPool-2-池统计(总计=2,活动=0,空闲=2,等待=0)
2021-05-21 10:25:23信息redis.actors.RedisClientActorakka://application/user/RedisClientPool-$b连接到/xx.xx.x.xx:6379
2021-05-21 10:25:23调试akka.io.TcpOutgoingConnectionakka://application/system/IO-TCP/selectors/$a/0正在尝试连接到[/xx.xx.x.xx:6379]
2021-05-21 10:25:23调试com.zaxxer.hikari.pool.HikariPool-2-添加了连接org.postgresql.jdbc。PgConnection@628938f6
2021-05-21 10:25:23调试com.zaxxer.hikari.pool.HikariPool-2-添加了连接org.postgresql.jdbc。PgConnection@52e89e1b
2021-05-21 10:25:23调试com.zaxxer.hikari.pool.HikariPool-2-添加了连接org.postgresql.jdbc。PgConnection@798d5238
2021-05-21 10:25:23调试com.zaxxer.hikari.pool.HikariPool-2-添加了连接org.postgresql.jdbc。PgConnection@4391945e
2021-05-21 10:25:23调试com.zaxxer.hikari.pool.HikariPool-2-添加了连接org.postgresql.jdbc。PgConnection@1b41b4c4
2021-05-21 10:25:23调试com.zaxxer.hikari.pool.HikariPool-2-添加了连接org.postgresql.jdbc。PgConnection@513c3200
2021-05-21 10:25:23调试com.zaxxer.hikari.pool.HikariPool-2-添加了连接org.postgresql.jdbc。PgConnection@47cd4b77
2021-05-21 10:25:23调试com.zaxxer.hikari.pool.HikariPool-2-添加了连接org.postgresql.jdbc。PgConnection@35bf221e
2021-05-21 10:25:23调试com.zaxxer.hikari.pool.HikariPool HikariPool-2-添加统计数据后(总计=10,活动=0,空闲=10,等待=0)
2021-05-21 10:25:23调试akka.io.TcpOutgoingConnectionakka://application/system/IO-TCP/selectors/$a/0已建立到[/xx.xx.x.xx:6379]的连接
2021-05-21 10:25:23信息redis.actors.RedisClientActorakka://application/user/RedisClientPool-$b连接到/xx.xx.x.xx:6379
2021-05-21 10:25:28调试com.zaxxer.hikari.pool.HikariPool-HikariPool-1-池统计(总计=10,活动=0,空闲=10,等待=0)
2021-05-21 10:25:28调试com.zaxxer.hikari.pool.HikariPool HikariPool-1-已跳过填充池,池处于足够的级别。
2021-05-21 10:25:33错误p.api.http.DefaultHttpErrorHandler
! @7jn65pj3d-内部服务器错误,用于(POST)[/my/url/path]->
play.api.UnexpectedException:意外异常[TimeoutException:未来在[10秒]后超时]
play.core.server.DevServerStart$$anon$1.reload(DevServerStart.scala:254)
at play.core.server.DevServerStart$$anon$1.get(DevServerStart.scala:148)
at play.core.server.AkkaHttpServer.handleRequest(AkkaHttpServer.scala:302)
在play.core.server.AkkaHttpServer.$anonfun$createServerBinding$1(AkkaHttpServer.scala:224)
在akka.stream.impl.fusing.mapsync$$anon$30.onPush(Ops.scala:1297)
在akka.stream.impl.fusing.graphinterpler.processPush(graphinterpler.scala:541)
在akka.stream.impl.fusing.graphinterpler.processEvent(graphinterpler.scala:495)
在akka.stream.impl.fusing.graphinterpler.execute(graphinterpler.scala:390)
在akka.stream.impl.fusing.graphinterptershell.runBatch(ActorGraphInterpreter.scala:625)
在akka.stream.impl.fusing.graphinterperterShell$AsyncInput.execute(ActorGraphExplorer.scala:502)中
在akka.stream.impl.fusing.graphinterperterShell.processEvent(ActorGraphExplorer.scala:600)中
在akka.stream.impl.fusing.actorgraphexplorer.akka$stream$impl$fusing$actorgraphexplorer$$processEvent(actorgraphexplorer.scala:775)
在akka.stream.impl.fusing.ActorGraphExplorer$$anonfun$receive$1.applyOrElse(ActorGraphExplorer.scala:790)
在akka.actor.actor.aroundReceive(actor.scala:537)
在akka.actor.actor.aroundReceive$(actor.scala:535)
在akka.stream.impl.fusing.ActorGraphTranslator.aroundReceive(ActorGraphTranslator.scala:691)上
在akka.actor.ActorCell.receiveMessage(ActorCell.scala:579)
在akka.actor.ActorCell.invoke(ActorCell.scala:547)
在akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270)
在akka.dispatch.Mailbox.run(Mailbox.scala:231)
在akka.dispatch.Mailbox.exec(Mailbox.scala:243)
位于java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
位于java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
位于java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
位于java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
位于java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
原因:java.util.concurrent.TimeoutException:Future在[10秒]后超时
在scala.concurrent.impl.Promise$DefaultPromise.tryAwait0处(Promise.scala:212)
在scala.concurrent.impl.Promise$DefaultPromise.result处(Promise.scala:225)
在scala.concurrent.Await$.$anonfun$result$1处(package.scala:201)
位于akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread$$anon$3.block(ThreadPoolBuilder.scala:174)
位于java.base/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3118)
在akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerT