JSESSIONID和hazelcast.sessionId

时间:2014-09-02 11:04:57

标签: session tomcat hazelcast

目前我们正在部署到一个集群场景,我们有3个节点(tomcat),所有节点都通过Hazelcast共享他们的会话。我们在这些节点前面有一个apache作为负载均衡器。

我发现,

curl我们的应用程序使用了两个会话cookie:

1)JSESSIONID

的常见tomcat会话

2)是具有hazelcast.sessionId

的淡褐色会话

有没有办法省略 JSESSIONID

有什么办法以某种方式加入"都? 提前谢谢。

1 个答案:

答案 0 :(得分:3)

不,两者都是当前实施所必需的。

Hazelcast仅使用hazelcast.sessionId作为HttpSession.getId(),几乎每个地方都可以识别分布式会话。但对于某些情况,例如故障转移,Hazelcast会在内部使用会话标识符(hazelcast.sessionIdJSESSIONID)。

From Hazelcast documentation

  

SessionId Generation

     

如果在Web应用程序中配置了会话复制,则会由Hazelcast Web会话模块完成SessionId生成。 sessionId的默认cookie名称为hazelcast.sessionId,并且可以使用应用程序的cookie-name文件中的web.xml参数进行配置。 hazelcast.sessionId只是一个前缀为“HZ”字符且没有“ - ”字符的UUID,例如HZ6F2D036789E4404893E99C05D8CA70C7。

     

目标应用程序调用时,HttpSession.getId()的值与hazelcast.sessionId的值相同。