您好我在我的Spring项目上配置了Redis以使用Spring Session,我使用的是Jedis 2.9.0并且运行良好。我遇到的问题是Websphere Server上的Sticky会话,我们有两个主服务器和每个10个克隆,正常的httpSession它使用cookie来再次处理该cookie到同一服务器的请求,很好,但是有了Spring会话它不起作用。
Spring创建名为“SESSION”的cookie,而Websphere的负载平衡不知道重定向请求的位置,因为会话不在JVM上,而是在Redis Cluster中进行了分配。
我需要(对于日志顺序porpuse)处理cookie“abc123”的每个请求到例如服务器1 clon 3,并且如果该应用程序的实例跟踪该cookie到另一个实例并保持该实例直到服务器再次关闭或用户注销......
在这里搜索和Spring Session文档,我找到了一些可能有用但我不知道它是如何工作的东西。
@Bean
public CookieSerializer cookieSerializer() {
DefaultCookieSerializer serializer = new DefaultCookieSerializer();
serializer.setCookieName("JSESSIONID");
serializer.setCookiePath("/");
serializer.setDomainNamePattern("^.+?\\.(\\w+\\.[a-z]+)$");
serializer.setJvmRoute("123");
return serializer;
}
属性Jvm Route为cookie添加一个后缀,以了解处理该cookie的JVM是什么,但我不知道它是如何工作的,我不幸找到有关它的例子或解释。
如果有人有答案或我可以使用的另一种解决方法,那就太棒了。