您如何在 Bluemix 中使用 Spring 会话与 Redis 服务? IBM Session Cache 是替代品吗?

How can you use Spring Sessions with Redis Service in Bluemix? Is IBM Session Cache an alternative?

当前的应用程序(与竞争对手)正在使用 Spring-Boot 和 Spring-Sessions 来独立于 Redis 中的实例保存会话数据。

我们如何在 Bluemix 中复制它?

  1. 有没有办法将 Spring-Session 添加到 Redis 服务?

  2. 另一个选择是 IBM 会话缓存。这对 Spring-Boot 和 Spring-Session 有效吗?会话缓存服务在没有 Tomcat 的情况下是否工作? (例如码头?)

我还没有玩过 Spring-Sessions,但我也许可以为您指明正确的方向。

Bluemix 上提供了通用的 Redis 服务。开源 Java buildpack (Tomcat) 承诺 auto configuration Redis。我会先试试这个。要使用此构建包:

cf push <appname> -b java_buildpack

如果这不起作用,您可以从 VCAP_SERVICES 读取凭据并配置 JedisConnectionFactory 以编程方式连接到它。

如果您将 IBM Session Cache 服务与 Bluemix 上的 Liberty 应用程序一起使用,则会自动生成配置,以便将标准 JEE HTTPSession 对象持久保存到服务中。它可能与其他 java 运行时一起工作,但配置会更加手动。

希望对您有所帮助。

Does the session cache work without Tomcat (Jetty for example)?

一般来说,会话​​缓存应该与任何 webserver/servletcontainer 一起工作,例如当 Bluemix 支持 Jetty 运行时时,会话缓存应该支持。

会话缓存基于 IBM WebSphere eXtreme Scale 缓存技术,基础产品已针对 HTTP 会话用例针对 WebSphere、Liberty 和 Tomcat 运行时进行了测试,但未在 Jetty 下进行测试。