目前我们正在部署到一个集群场景,我们有3个节点(tomcat),所有节点都通过Hazelcast共享他们的会话。我们在这些节点前面有一个apache作为负载均衡器。
我发现, curl
我们的应用程序使用了两个会话cookie:
1)是JSESSIONID
2)是具有hazelcast.sessionId
有没有办法省略 JSESSIONID
?
或
有什么办法以某种方式加入"都? 提前谢谢。
答案 0 :(得分:3)
不,两者都是当前实施所必需的。
Hazelcast仅使用hazelcast.sessionId
作为HttpSession.getId()
,几乎每个地方都可以识别分布式会话。但对于某些情况,例如故障转移,Hazelcast会在内部使用会话标识符(hazelcast.sessionId
和JSESSIONID
)。
SessionId Generation
如果在Web应用程序中配置了会话复制,则会由Hazelcast Web会话模块完成SessionId生成。 sessionId的默认cookie名称为
hazelcast.sessionId
,并且可以使用应用程序的cookie-name
文件中的web.xml
参数进行配置。hazelcast.sessionId
只是一个前缀为“HZ”字符且没有“ - ”字符的UUID,例如HZ6F2D036789E4404893E99C05D8CA70C7。目标应用程序调用时,
HttpSession.getId()
的值与hazelcast.sessionId
的值相同。