本文是把session 存在数据库当中, 为测试方便采用hsql数据库,hsql数据库比较小, 使用起来很方便, 在产品环境还是换会mysql 数据库好一些。
配置参考下面页面
http://www.eclipse.org/jetty/documentation/current/session-clustering-jdbc.html
主要有2个部分要配置, session ID manager和session manager。
session ID manager是确保session IDs是唯一的,并把session 信息保持在数据库当中。所有web application可以用同一个session ID manager。
session manager是管理session 的生命周期,比如 (create/update/invalidate/expire),session mangager在每一个web application 都应该创建一个实例, 所以应该配置在jetty当中的
context xml或者WEB-INF/jetty-web.xml
当中。
配置 JDBCSessionIdManager
在全局的jetty.xml中配置, 配置了数据库连接池c3p0, 需要把c3p0-0.9.5, mchange-commons-java-0.2.9,
hsqldb 放在etc/lib下面
<!-- data source jndi--> <Set name="sessionIdManager"> <New id="jdbcidmgr" class="org.eclipse.jetty.server.session.JDBCSessionIdManager"> <Arg> <Ref id="Server"/> </Arg> <Set name="workerName">fred</Set> <Set name="DatasourceName">jdbc/DSTest</Set> <Set name="scavengeInterval">60</Set> </New> </Set> <Call name="setAttribute"> <Arg>jdbcIdMgr</Arg> <Arg> <Ref id="jdbcidmgr"/> </Arg> </Call> <!-- jdbc config <Set name="sessionIdManager"> <New id="jdbcidmgr" class="org.eclipse.jetty.server.session.JDBCSessionIdManager"> <Arg><Ref id="Server"/></Arg> <Set name="workerName">fred</Set> <Call name="setDriverInfo"> <Arg>org.hsqldb.jdbc.JDBCDriver</Arg> <Arg>jdbc:hsqldb:hsql://localhost/session?user=SA</Arg> </Call> <Set name="scavengeInterval">60</Set> </New> </Set> <Call name="setAttribute"> <Arg>jdbcIdMgr</Arg> <Arg><Ref id="jdbcidmgr"/></Arg> </Call> --> <New id="DSTest" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg></Arg> <Arg>jdbc/DSTest</Arg> <Arg> <New class="com.mchange.v2.c3p0.ComboPooledDataSource"> <Set name="driverClass">org.hsqldb.jdbc.JDBCDriver</Set> <Set name="jdbcUrl">jdbc:hsqldb:hsql://localhost/session?user=SA</Set> <Set name="user">SA</Set> </New> </Arg> </New>
配置JDBCSessionManager
这里是采用context xml file配置方式
<Configure class="org.eclipse.jetty.webapp.WebAppContext"> <Ref name="Server" id="Server"> <Call id="jdbcIdMgr" name="getAttribute"> <Arg>jdbcIdMgr</Arg> </Call> </Ref> <Set name="sessionHandler"> <New class="org.eclipse.jetty.server.session.SessionHandler"> <Arg> <New id="jdbcmgr" class="org.eclipse.jetty.server.session.JDBCSessionManager"> <Set name="sessionIdManager"> <Ref id="jdbcIdMgr"/> </Set> </New> </Arg> </New> </Set> </Configure>
使jetty 添加jnidi module
cd /opt/jetty cd my-base java -jar ../start.jar --add-to-startd=jndi
http://www.eclipse.org/jetty/documentation/current/jndi.html
启动jetty
demo-base>java -jar ../start.jar
配置成功, jdbc保存session适合小型的集群, 大型集群可以考虑mongodb, redis, memcache.
http://laravel.iteye.com
相关推荐
这个wiki提供jetty的入门教程、基础配置、功能特性、优化、安全、JavaEE、监控、常见问题、故障排除帮助等等。它包含教程、使用手册、视频、特征描述、参考资料以及常见问题。 Jetty文档 ---------------- 入门...
记载了terracotta如何与tomcat、jetty等服务器的集群,解释了tc-config.xml中各个配置的作用
想直接通过域名活ip访问xacs或者准备集群配置的童鞋,往这看
springboot框架 一、Spring Boot基础应用 Spring Boot特征 ...4.使部署变得简单,SpringBoot内置了三种Servlet容器,Tomcat,Jetty,undertow.我们只需要一个Java的运行环境就可以跑SpringBoot的项目了
配置机架感知的下面哪项正确 a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)MapReduce 会根据机架获取离自己比较近的网络数据 10. Client 端上传文件的时候下列哪项正确...
配置机架感知的下面哪项正确 a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)MapReduce 会根据机架获取离自己比较近的网络数据 10. Client 端上传文件的时候下列哪项正确...
快速构建面向soa的大型集群应用,基于 mysql-5.6 hessian-4.0.8 Spring&MVC-3.1.0.RELEASE freemarker-2.3.20 redis-2.8.19 web容器采用jetty8 http session采用redis存储(jetty自身提供了mongodb/rdb的支持) 基于...
配置机架感知的下面哪项正确 a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)MapReduce 会根据机架获取离自己比较近的网络数据 10. Client 端上传文件的时候下列哪项正确...
配置机架感知的下面哪项正确 a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)MapReduce 会根据机架获取离自己比较近的网络数据 10. Client 端上传文件的时候下列哪项正确...
配置机架感知的下面哪项正确 a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)MapReduce 会根据机架获取离自己比较近的网络数据 10. Client 端上传文件的时候下列哪项正确...
3、(Optional)如果安装了hadoop集群,需到/data/appdatas/cat/server.xml中配置对应hadoop信息。将localmode设置为false,默认情况下,CAT在开发模式(localmode=true)下工作。 4、运行CATcd cat-home;mvn ...
├── zheng-config -- 配置中心[端口:1001] ├── zheng-upms -- 用户权限管理系统 | ├── zheng-upms-common -- upms系统公共模块 | ├── zheng-upms-dao -- 代码生成模块,无需开发 | ├── zheng-upms-...
jetty 容灾 日志框架 开源框架 slf4j 框架实现 log4j logback commong logging jdk logger 测试框架 测试框架 junit easymock testng mockito bug管理 禅道 jira 开发工具 编程工具 eclipse ...
Linux\Mac 需要对/data/appdatas/cat和/data/applogs/cat有读写权限Windows 则是对系统运行盘下的/data/appdatas/cat和/data/applogs/cat有读写权限3、(Optional)如果安装了hadoop集群,需到/data/appdatas/cat/...