`
eimhee
  • 浏览: 2114929 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jetty 配置集群

阅读更多

本文是把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

2
2
分享到:
评论

相关推荐

    Jetty中文手册

    这个wiki提供jetty的入门教程、基础配置、功能特性、优化、安全、JavaEE、监控、常见问题、故障排除帮助等等。它包含教程、使用手册、视频、特征描述、参考资料以及常见问题。 Jetty文档 ---------------- 入门...

    terracotta 集群设置说明(中文)

    记载了terracotta如何与tomcat、jetty等服务器的集群,解释了tc-config.xml中各个配置的作用

    如何将xacs从jetty平台移植到tomcat平台

    想直接通过域名活ip访问xacs或者准备集群配置的童鞋,往这看

    .基于springboot websocket定制,完成的功能的状态管理具备单机和集群能力.zip

    springboot框架 一、Spring Boot基础应用 Spring Boot特征 ...4.使部署变得简单,SpringBoot内置了三种Servlet容器,Tomcat,Jetty,undertow.我们只需要一个Java的运行环境就可以跑SpringBoot的项目了

    大数据面试题.doc

    配置机架感知的下面哪项正确 a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)MapReduce 会根据机架获取离自己比较近的网络数据 10. Client 端上传文件的时候下列哪项正确...

    大数据面试题(1).doc

    配置机架感知的下面哪项正确 a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)MapReduce 会根据机架获取离自己比较近的网络数据 10. Client 端上传文件的时候下列哪项正确...

    MyFastCode:快速构建面向服务的Web应用,基于MysqlHessianSpring&MVCFreemarker

    快速构建面向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的支持) 基于...

    大数据面试题.docx

    配置机架感知的下面哪项正确 a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)MapReduce 会根据机架获取离自己比较近的网络数据 10. Client 端上传文件的时候下列哪项正确...

    大数据面试题-.docx

    配置机架感知的下面哪项正确 a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)MapReduce 会根据机架获取离自己比较近的网络数据 10. Client 端上传文件的时候下列哪项正确...

    大数据面试题(1).docx

    配置机架感知的下面哪项正确 a)如果一个机架出问题,不会影响数据读写 b)写入数据的时候会写到不同机架的 DataNode 中 c)MapReduce 会根据机架获取离自己比较近的网络数据 10. Client 端上传文件的时候下列哪项正确...

    大众点评开源的实时应用监控平台 CAT.zip

    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-...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    jetty 容灾 日志框架 开源框架 slf4j 框架实现 log4j logback commong logging jdk logger 测试框架 测试框架 junit easymock testng mockito bug管理 禅道 jira 开发工具 编程工具 eclipse ...

    CAT实时应用监控平台-其他

    Linux\Mac 需要对/data/appdatas/cat和/data/applogs/cat有读写权限Windows 则是对系统运行盘下的/data/appdatas/cat和/data/applogs/cat有读写权限3、(Optional)如果安装了hadoop集群,需到/data/appdatas/cat/...

Global site tag (gtag.js) - Google Analytics