介绍
memcached-session-manager是将tomcat中的session,托管到memcache中管理,实现tomcat的无状态应用。
但是在笔者的经验中,我们一般开发的时候,不会使用这个技术。而是将现有的项目中使用了session,快速升级为无状态应用时,会使用这种办法。
相关官方
https://code.google.com/p/memcached-session-manager/downloads/list
http://javolution.org/
http://www.couchbase.com/develop/java/current
详细教程
http://blog.csdn.net/ichsonx/article/details/6911358
http://www.iteye.com/topic/1125301
附件是本教程用到的lib包
tomcat7的安装
将附件中的全部jar拷贝到${tomcat_home}/lib目录下,
注意:工程目录不能有这些JAR包
修改工程目录下META-INF/context.xml或者${tomcat_home}/conf/server.xml下的context节点,增加
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.56.2:11211"
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js|ico)$"
sessionBackupAsync="false"
sessionBackupTimeout="100"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
copyCollectionsForSerialization="false"
/>
测试
用2个浏览器打开即可,首先用chrome打开,然后用火狐打开。查看jsessionid是否一致。
JSP测试代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String tmp = (String)session.getAttribute("tmp");
if(tmp == null || tmp == ""){
session.setAttribute("tmp","i am created in tomcat 2 . my id is : "+session.getId());
tmp = (String)session.getAttribute("tmp");
out.println(" null now to created value !");
out.println("<br/>");
out.println(tmp);
System.out.println(tmp);
}else{
out.println(tmp);
System.out.println(tmp);
}
%>
</body>
</html>
参考教程
http://blog.csdn.net/ichsonx/article/details/6911358
http://www.iteye.com/topic/1125301
相关官方
https://code.google.com/p/memcached-session-manager/downloads/list
http://javolution.org/
http://www.couchbase.com/develop/java/current
分享到:
相关推荐
本lib包包含:javolution-5.5.1.jar、kryo-1.03.jar、kryo-serializers-0.10.jar、memcached-2.5.jar、memcached-session-manager-1.5.1.jar、memcached-session-manager-tc7-1.5.1.jar、minlog-1.2.jar、msm-...
memcached-1.9.6,libevent-2.1.12-stable.tar memcached-session-manager-1.9.6,msm-kryo-serializer-1.9.6.jar,tomcat8.5,实现会话共享
网上下载过N种jar版本,启动tomcat报各种错误;浪费了很多时间;本资源经tomcat7、tomcat8测试,均正常实现负载均衡,session共享功能。
memcached-session-manager-1.6.5.jar
memcached-session-manager-tc6-1.6.3.jar
Memcached-session-manager使用说明及相关jar包(tomcat7版) 依照文档部署即可实现多服务器多tomcat session共享,jar包中是tomcat7集成所需要的jar包,序列化工具用的是java默认的序列化工具,若要使用其他版本的...
memcached-session-manager-1.8.1.jar
自测适用于tomcat7,其他tomcat没有测试 asm kryo kryo-serializer kryo-serializers memcached-session-manager memcached-session-manager-tc7 minlog objenesis reflectasm spymemcached
memcached-session-manager-tc7-1.6.5.jar
memcached-session-manager-1.6.5.jar
适应MSM的整合包,有 flexjson-3.3 msm-flexjson-serializer-1.9.6 msm-spymemcached-2.11.3 memcached-session-manager-1.9.6 memcached-session-manager-tc8-1.9.6
memcached-session-manager-tc7
tomcat-7.0.54配合使用的memcached-session-manager-1.6.1的整套jar包
memcached-session-manager-tc7.jar实现Tomcat+redis session共享, 解压该文件,将里面的jar包丢Tomcat7目录lib下进行相关配置即可(配置网上有),由官方git地址:...
完全可以根据github的要求来配置,我只是没分了~ 官网地址:https://github.com/magro/memcached-session-manager/wiki/SetupAndConfiguration#add-memcached-session-manager-jars-to-tomcat