java DefaultCookieSerializer。setJvmRoute不工作
我试图将SpringSession合并到我的应用程序中,但我也希望保留服务器关联性,因为我有需要粘性会话的Talend作业
我可以根据需要使用Redis使SpringSession正常工作,为了使服务器关联正常工作,我想在新Cookie中向会话添加一个jvmRoute
在我的配置文件中,我根据docshttps://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;
}
这会将会话重命名为JSESSIONID,因此我知道它可以工作,但它不会将jvmRoute附加到sessionId
我是不是遗漏了什么?任何帮助都将不胜感激
谢谢
# 1 楼答案
如果您正在查看实际的会话cookie值,并希望看到已配置的
jvmRoute
附加到该值,请记住,从Spring会话2.0开始,DefaultCookieSerializer
默认使用Base64编码的cookie因此
jvmRoute
实际上被追加到会话id中,但是整个连接在写入cookie之前会进行Base64编码为了验证
jvmRoute
,您可以尝试使用配置了serializer.setUseBase64Encoding(false)
的DefaultCookieSerializer
进行测试