用Memcached-session-manager的session管理manager替代tomcat自身的standardManager。
可以配置在虚拟服务器的context标签中,也可以在context.xml里面全局配置。
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.200.56:11211"
sticky="false"
lockingMode="auto"
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"
sessionBackupAsync= "false"
copyCollectionsForSerialization="true"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
<!--下面这个是可选的,自己定义特殊的类注册到kryo自定义转换器中,实现序列化-->
customConverter="com.shunwang.itsupport.customization.CustomKryoRegistration"/>
demo
package com.test.serializer;
import java.util.concurrent.ConcurrentHashMap;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.serialize.MapSerializer;
import de.javakaffee.web.msm.serializer.kryo.KryoCustomization;
public class CustomKryoRegistration implements KryoCustomization {
public void customize(Kryo kryo) {
kryo.register(ConcurrentHashMap.class, new MapSerializer(kryo));
}
}
依赖包:
kryo-serializer: msm-kryo-serializer, kryo-serializers, kryo, minlog, reflectasm, asm-3.2
javolution-serializer: msm-javolution-serializer, javolution-5.4.3.1
xstream-serializer: msm-xstream-serializer, xstream, xmlpull, xpp3_min
flexjson-serializer: msm-flexjson-serializer, flexjson