Chinaunix首页 | 论坛 | 博客
  • 博客访问: 312722
  • 博文数量: 173
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1060
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-09 16:23
文章分类

全部博文(173)

文章存档

2015年(66)

2014年(107)

我的朋友

分类: LINUX

2015-01-29 13:43:37

如何能在集群中的多个节点之间保持数据的一致性,会话(Session)信息是这些数据中最重要的一块。

本文当采用tomcat默认集群配置()时,配置的细节实际上被省略了,对于大多数应用而言,使用默认配置已经足够。

下载 8.0 到本地, 保存为tomcat1,  复制tomcat1 为tomcat2,

修改tomcat2的端口设置,可以参考下面这个链接修改端口。

在 examples 目录下创建一个session.jsp文件,用来测试Cluster中两个Tomcat使用的Session是同一个Session,并且当其中一个Tomcat修改Session中的值时,第二个Tomcat会同样得到更新;代码如下:

  
  
    
  
  
<%  
  String mydata = request.getParameter("mydata");  
  if (mydata != null && mydata.length() != 0) {  
    session.setAttribute("mydata", mydata);  
  }  
  out.println("request.getLocalAddr(): " + request.getLocalAddr());  
  out.println("
"); out.println("request.getLocalPort(): " + request.getLocalPort()); out.println("
"); out.println("Session ID: " + session.getId()); out.println("
"); out.println("mydata: " + session.getAttribute("mydata")); %>

现测试一下不添加cluster配置, 是什么情况。

session的值是不一样的。

接着我们添加cluster配置。

修改tomcat1 和tomcat2 conf/server.xml文件,将其中前后的注释打开保存;



      
      
      

修改tomcat1 和tomcat2 的.xml

修改其中的WEB-INF/web.xml文件,在其中Servlet and JSP Examples节点后添加表明此应用与集群复制 Session;


      Servlet and JSP Examples.
    
    Servlet and JSP Examples

重启tom1, tomcat2

 

可以看到session同步成功!

  • 本文来自:
阅读(1318) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~