`

tomcat+nginx+mem配置session共享

 
阅读更多

将对应的jar都放到tomcat的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-javolution-serializer-1.5.1.jar

msm-kryo-serializer-1.6.4.jar

reflectasm-0.9.jar

spymemcached-2.7.3.jar

 

打开tomcat中的context.xml文件

在context标签中加入

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

                        memcachedNodes="n1:127.0.0.1:11211"   

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

                        sessionBackupAsync="false"   

                        sessionBackupTimeout="100"   

                        transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"   

                        copyCollectionsForSerialization="false" /> 

即可

 

解释一下节点的属性配置

className
  此属性是必须的。
  memcachedNodes
  此属性是必须的。这个属性必须包含你所有运行的memcached节点。每个节点的定义格式为<id>:<host>:<port>。
  多个之间用空格或半角逗号隔开(如:memcachedNodes="n1:localhost:11211,n2:localhost:11212")。
  如果你设置单个memcache节点<id>是可选的,所以它允许设置为<host>:<port>(memcachedNodes="localhost:11211")。
  failoverNodes
  可选项,属性只能用在非粘连Session机制中。
  此属性必须包含memcached节点的Id,此节点是Tomcat作为备份使用。多个之间用空格或逗号隔开
  memcachedProtocol
  可选项,默认为text。出属性指明memcached使用的存储协议。只支持text或者binary。
  sticky 可选项,默认为true。
  指定使用粘性的还是非粘性的Session机制
  lockingMode 可选项, 此属性只对非粘性Session有用,默认为none。
  指定非粘性Session的锁定策略。他的只有
  (1)、none:从来不加锁
  (2)、all: 当请求时对Session锁定,直到请求结束
  (3)、auto:对只读的request不加锁,对非只读的request加锁
  (4)、uriPattern:<regexp>: 使用正则表达式来比较requestRUI + "?" + queryString来决定是否加锁,
  requestUriIgnorePattern 可选项
  此属性是那些不能改备份Session的请求的正则表达式。如果像css,javascript,图片等静态文件被同一个Tomcat和同一个应用上下文来提供,这些
  请求也会通过memcached-session-manager。但是这些请求在一个http会话中几乎没什么改变,所以他们没必要触发Session备份。所以那些静态文件
  没必要触发Session备份,你就可以使用此属性定义。此属性必须符合java regex正则规范。
  sessionBackupAsync 可选项,默认true
  指定Session是否应该被异步保存到Memcached中。 如果被设置为true,backupThreadCount设置起作用,如果设置false,通过sessionBackupTimeout
  设置的过期时间起作用。
  backupThreadCount 可选项,默认为CPU内核数。
  用来异步保存Session的线程数(如果sessionBackupAsync="true")。
  sessionBackupTimeout 可选项,默认100,单位毫秒
  设置备份一个Session所用的时间,如果操作超过时间那么保存失败。此属性只在sessionBackupAsync="false"是起作用。默认100毫秒
  sessionAttributeFilter 可选项 从1.5.0版本有
  此属性是用来控制Session中的那个属性值保存到Memcached中的正则表达式。郑则表达式被用来匹配Session中属性名称。如
  sessionAttributeFilter="^(userName|sessionHistory)$" 指定了只有"userName"和"sessionHistory"属性保存到Memcached中。
  依赖于选择的序列化策略。
  transcoderFactoryClass 可选,默认为 de.javakaffee.web.msm.JavaSerializationTranscoderFactory
  此属性值是创建序列化和反序列化保存到Memcached中的Session的编码转换器的工厂类名。这个指定的类必须实现了de.javakaffee.web.msm.TranscoderFactory
  和提供一个无参的构造方法。例如其他的有效的实现在其他packages/jars中提供如:msm-kryo-serializer,msm-xstrea-serializer和msm-javolution-serializer.
  copyCollectionsForSerialization 可选项,默认false。
  enableStatistics 可选项,默认true
  用来指定是否进行统计。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics