- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试将 SpringSession 合并到我的应用程序中,但我还想保留服务器关联性,因为我有需要粘性 session 的 Talend 作业。
我可以让带有 Redis 的 SpringSession 按需要工作,并且为了让服务器关联工作,我想将 jvmRoute 附加到新 Cookie 中的 session 。
在我的配置文件中,我根据文档 https://docs.spring.io/spring-session/docs/current/reference/html5/guides/java-custom-cookie.html 创建了以下 bean
@Bean
public CookieSerializer cookieSerializer() {
DefaultCookieSerializer serializer = new DefaultCookieSerializer();
serializer.setCookieName("JSESSIONID");
serializer.setJvmRoute("my-app1");
return serializer;
}
这会将 SESSION 重命名为 JSESSIONID,所以我知道它有效,但它不会将 jvmRoute 附加到 sessionId。
我是不是漏掉了什么?任何帮助将不胜感激。
谢谢
最佳答案
如果您正在查看实际的 session cookie 值并希望看到已配置的 jvmRoute
附加到它,请记住从 Spring Session 2.0 开始 DefaultCookieSerializer
默认使用 Base64 编码的 cookie。
所以 jvmRoute
实际上附加到 session ID,但整个连接在写入 cookie 之前进行了 Base64 编码。
为了验证jvmRoute
,您可以尝试使用配置了serializer.setUseBase64Encoding(false)
的DefaultCookieSerializer
进行测试。
关于java - DefaultCookieSerializer.setJvmRoute 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51845608/
我正在尝试将 SpringSession 合并到我的应用程序中,但我还想保留服务器关联性,因为我有需要粘性 session 的 Talend 作业。 我可以让带有 Redis 的 SpringSess
我在我的遗留 Spring MVC 应用程序中使用 Redis 实现了 Spring Session。我还使用了 DefaultCookieSerializer 来设置 jvmRoute,因为我需要一
我是一名优秀的程序员,十分优秀!