msm + tomcat session共享

痴人了个说梦 2015-03-26 02:53:09
最进搞了个nginx+tomcat+memcached 集群和session共享。nginx+tomcat倒是集群成功。但 tomcat+memcached的session共享。却怎么也配不对。一直没有session共享。 现贴出配置
msm jar包


tomcat配置 如图


都是按照网上的配置的。
启动tomcat。报出
信息: SessionBackupAsync was changed to false, creating new BackupSessionService with new configuration.
2015-3-26 14:42:46 de.javakaffee.web.msm.MemcachedBackupSessionManager setSessionBackupAsync
信息: SessionBackupAsync was changed to false, creating new BackupSessionService with new configuration.
2015-3-26 14:42:46 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2015-3-26 14:42:46 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2015-3-26 14:42:46 de.javakaffee.web.msm.MemcachedBackupSessionManager setSessionBackupAsync
信息: SessionBackupAsync was changed to false, creating new BackupSessionService with new configuration.
2015-3-26 14:42:46 de.javakaffee.web.msm.MemcachedBackupSessionManager setSessionBackupAsync
信息: SessionBackupAsync was changed to false, creating new BackupSessionService with new configuration.
2015-3-26 14:42:46 org.apache.catalina.ha.session.JvmRouteBinderValve start
信息: JvmRouteBinderValve started
2015-3-26 14:42:46 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8081
2015-3-26 14:42:47 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8011
2015-3-26 14:42:47 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/16 config=null
2015-3-26 14:42:47 org.apache.catalina.startup.Catalina start
信息: Server startup in 6277 ms



显示确实有memcached的信息。但是访问项目。session却一直没共享。求教大神session共享的配置。
...全文
83 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
nginx+tomcat7+session共享 kryo序列化所需要包 1.将上面所提到的包全部拷贝到tomcat的lib下(三台tomcat都需要) 2.修改每台tomcat的conf目录下得context.xml文件或者server.xml文件,在其中加入如下任意一段代码(注意:当使用多台tomcat时,一定要使用non-sticky模式): ... sessionBackupAsync="false" lockingMode="uriPattern:/path1|/path2" requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" /> Sticky 模式:tomcat session 为 主session, memcached 为备 session。Request请求到来时, 从memcached加载备 sessiontomcat (仅当tomcat jvmroute发生变化时,否则直接取tomcat session);Request请求结束时,将tomcat session更新至memcached,以达到主备同步之目的。下面是sticky模式时响应的流程图(图片来源网络): sticky模式 Non-Sticky模式:tomcat session 为 中转session, memcached1 为主 sessionmemcached 2 为备session。Request请求到来时,从memcached 2加载备 sessiontomcat,(当 容器 中还是没有session 则从memcached1加载主 sessiontomcat, 这种情况是只有一个memcached节点,或者有memcached1 出错时),Request请求结束时,将tomcat session更新至 主memcached1和备memcached2,并且清除tomcat session 。以达到主备同步之目的,如下是non-sticky模式的响应流程图:(图片来源网络)。 non-sticky

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧