MSM项目FlexJson序列化参考文档。

序号(步骤)

需求描述

jar包列表:

spymemcached-2.11.1.jar

memcached-session-manager-tc8-1.8.0.jar

memcached-session-manager-1.8.0.jar

msm-flexjson-serializer-1.8.3.jar

flexjson-3.3.jar

jar包放到/tomcat/lib/

修改/tomcat/conf/context.xml,增加如下内容.

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

memcachedNodes="n1:192.168.0.215:20201 n2:192.168.0.221:20201"

requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"

sessionBackupAsync="true"

sticky="false"

storageKeyPrefix=“static:kaoqin"

lockingMode="none"

sessionBackupTimeout="3000"

transcoderFactoryClass="de.javakaffee.web.msm.serializer.json.JSONTranscoderFactory"

copyCollectionsForSerialization="false" />

添加日志。

添加de.javakaffee.web.msm.level=FINE  到 $CATALINA_HOME/conf/logging.properties

注1:

各个参数的含义及其基本配置:

1.className。必须的。且是固定的,MemcachedBackupSessionManager 继承了org.apache.catalina.session.ManagerBase 并实现了org.apache.catalina.Manager接口。

2.memcachedNodes 必须。格式可以上空格分隔或者“,”分隔。节点数不宜过多。

3.requestUriIgnorePattern 可选。过滤请求。

4.sessionBackupAsync 可选。是否异步保存session。同步会保存完毕后才返回response,如果追求响应通常设置为true。默认是true。

5.sticky,可选。

6.backupThreadCount(自1.3,可选,默认数-CPU的内核)sticky=“false”起作用。

7.operationTimeout(自1.6.0,可选,默认 1000)。设置使用memcache操作的超时时间。

8.storageKeyPrefix(自1.8.0,可选,默认 webappVersion)支持静态参数和动态参数两种模式。静态参数格式:“static:kaoqin” session的格式为sessionid=kaoqin_jsessionid-n1。动态参数支持(host,context,webappVersion)。这里有一些例子,证明它的配置会创建一个存储键(会话ID为“foo”上下文路径“ctxt”和主机“HST”): * static:x -> x_foo * host -> hst_foo * host.hash -> e93c085e_foo * context -> ctxt_foo * context.hash -> 45e6345f_foo * host,context -> hst:ctxt_foo * webappVersion -> 001_foo * host.hash,context.hash,webappVersion -> e93c085e:45e6345f:001_foo

(注—---动态参数:  1.host是conf/server.xml中得<Host name=“localhost”>

2.host.hash 是host名字的hash码

3.context 是 上线文路径,通常是要在META-INF/context.xml 配置。或者是

/conf/Catalina/localhost/context.xml.default  或者是

/conf/Catalina/localhost/helloapp.xml 或者是/conf/context.xml或者是

/conf/server.xm文件中的<Host>元素中查找<Context>子元素。该<Context>元素的信息          只适用于单个Web应用。 如果定义context是root则会被忽略。

4.context.hash 是context的hash码。

5.webppVersion 是默认值

三个可以互相组合使用,可用逗号隔开。如context,host,我

)

9。sessionBackupTimeout。默认100毫秒.备份会话的超过100被认为是操作失败。

10.transcoderFactoryClass。

transcoderFactoryClass(自1.1,可选,默认 de.javakaffee.web.msm.JavaSerializationTranscoderFactory)

创建使用从memcached的串行/解串会话/转码器工厂的类名称。指定的类必须实现de.javakaffee.web.msm.TranscoderFactory并提供一个无参数的构造函数。其他TranscoderFactory实现都可以通过其他的包/罐状MSM-KRYO串器,MSM-XStream的串器 和MSM-javolution串器(如上述),这些上市和比较上SerializationStrategies。

可用TranscoderFactory实现

:* Java序列化:de.javakaffee.web.msm.JavaSerializationTranscoderFactory * KRYO基于序列:de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory * Javolution基于序列:de.javakaffee.web.msm.serializer。 javolution.JavolutionTranscoderFactory *基于XStream的系列化:de.javakaffee.web.msm.serializer.xstream.XStreamTranscoderFactory

11.copyCollectionsForSerialization:默认为false。

12.memcachedProtocol (since 1.3, optional, default text)

13.username (since 1.6.0, optional)

更多详细请查阅:

https://github.com/magro/memcached-session-manager/wiki/SetupAndConfiguration

注2:

最好的话可以使用kryo来实现序列化,这中序列化方式被认为是效果非常出众的,本次并未尝试成功。

最新文章

  1. 在Application_Error事件中获取当前的Action和Control
  2. wpf 触发器理解
  3. Snapshot Instance 操作详解 - 每天5分钟玩转 OpenStack(36)
  4. Java中的队列Queue,优先级队列PriorityQueue
  5. 最有效地优化 Microsoft SQL Server 的性能
  6. python: jquery实现全选 反选 取消
  7. codeforces mysterious present 最长上升子序列+倒序打印路径
  8. debian hosts文件中的 127.0.1.1 主机地址
  9. ACM YTU 1012 u Calculate e
  10. Apache server-status
  11. SQL Profiler工具简介
  12. cf466C Number of Ways
  13. Django是Python下的一款网络服务器框架
  14. 富文本编辑器UEditor自定义工具栏(一、基础配置与字体、背景色、行间距、超链接实现)
  15. gbdt的面试要点总结-上篇
  16. vue框架-学习记录
  17. android 自定义ScrollView实现背景图片伸缩(阻尼效果)
  18. 关于iframe页面里的重定向问题
  19. 04-接口隔离原则(ISP)
  20. git 新建本地分支后将本地分支推送到远程库, 使用git pull 或者 git push 的时候报错

热门文章

  1. 跳转移动端js代码
  2. js判断是否是PC,IOS,Android客户端
  3. 【redis】redis实现API接口调用调用次数的限制
  4. 利用js实现table增加一行
  5. 2016.6.20 tomcat安装出现No Java Virtual Machine found in..
  6. 微信小程序 - 时间戳转时间
  7. MYSQL索引优化思维导图
  8. vue install 注册组件
  9. widget 常用UI控件介绍
  10. Java 使用StringBuffer注意