nginx+tomcat7+memcached集群session共享,session居然不稳定!!!

如题我做了个测试简直无语了,我用的是struts2,为了便于发现问题,我特意在jsp页面上也写了段java代码,输出sessionID和session的类容代码如下:<%... 如题我做了个测试简直无语了,我用的是struts2,为了便于发现问题,我特意在jsp页面上也写了段java代码,输出sessionID和session的类容代码如下:
<%
System.out.println(session.getId());
out.println("<br> This is (TOMCAT1), SESSION ID:" + session.getId()+"<br>");
User user=(User)ActionContext.getContext().getSession().get(SessionKey.getUserSessionKey());
if(user!=null){
out.println("<br> 用户:"+ user.getUserNameEmail()+"<br>");
} else {
out.println("<br> : 用户:不存在<br>");
}
%>
这是jsp页面的,另外我在后台action中也这样:
Map<String, Object> session = ActionContext.getContext().getSession();
User user = (User)session.get(SessionKey.getUserSessionKey());

怪事就出来了,JSP可以每次正常输出session类容,而且session在集群中没一个节点的时候sessionID不会变,但是后台有时候输出Map<String, Object> session = ActionContext.getContext().getSession();的session 是空,有时候又是正常能取值,在这里郁闷的快一周了,求大侠相助啊
展开
 我来答
binbin_1988
2012-11-22 · 超过23用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:41.9万
展开全部
根据您的问题,首先您考虑下代码中session传递是否存在问题,这个我不知道在吗测试,我不太会java。其次检查tomcat中的关于session的配置,比喻session周期,生存时间等。最后检查memcachd是否正常,memached是非常好的一个技术,但是也是容易出问题的,因为内存本身就是临时快速存储,一刷新就会失效。具体的问题还是要自己检测的,查看日志。我只能告诉你我一般排错的流程,具体事情具体对待。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式