`
eimhee
  • 浏览: 2153017 次
  • 性别: 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
分享到:
评论

相关推荐

    apache+jetty负载配置案例

    四、Jetty服务器集群配置 在Jetty服务器端,你需要确保每个服务器实例都在不同的端口上运行,例如,一个在8080端口,另一个在8081端口。此外,为了保证高可用性,可以在每个Jetty实例中启用session复制,防止用户...

    Jetty中文手册

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

    jetty-document

    #### 三、深入理解Jetty配置 ##### 3.1 Jetty配置概述 配置Jetty涉及到多个方面,包括但不限于连接器配置、上下文路径设置、安全设置等。Jetty的配置文件主要位于`etc`目录下,采用XML格式。 ##### 3.2 上下文...

    jetty 6 指南书

    通过本书,读者将能够全面了解Jetty 6的功能、架构、配置和最佳实践,从而更好地利用Jetty构建高性能、灵活的Web应用程序。虽然现在Jetty已更新至更高版本,但这些基础知识对于理解现代Jetty版本依然有很高的参考...

    jetty指导书

    `jetty.xml`是Jetty的核心配置文件之一,它定义了Server的基本配置,包括Connectors、Handlers等组件的设置。 **4.2 Jetty xmlConfiguration语法** Jetty支持XML格式的配置文件,通过特定的XML元素和属性来描述...

    jetty6 指南书

    7. **类加载器**、**Jetty Connector的SSL配置**、**虚拟主机**、**管理服务器**、**JNDI配置**、**会话与集群**、**性能优化**、**异步Servlet、Ajax和Comet**以及**嵌入Jetty**等内容,都是指南中详细阐述的主题,...

    Jetty权威指南.pdf

    `org.mortbay.xml.XmlConfiguration`类提供了读取和解析Jetty配置文件的能力。用户可以通过这个类来加载配置文件,并将配置信息转换成Java对象模型,方便后续的配置管理和使用。 #### 五、在Jetty中部署Web应用程序...

    jetty指南书

    Jetty 指南书是一本专注于Jetty web容器的详细教程,主要涵盖了Jetty的基础知识、安装配置、架构解析、服务配置、Web应用程序部署、Handler详解、类加载器、Connector配置、虚拟主机、服务器管理和性能优化等多个...

    ActiveMQ高可用集群(ZooKeeper+LevelDB)安装、配置(伪集群).docx

    "ActiveMQ高可用集群(ZooKeeper+LevelDB)安装、配置(伪集群)" 本文将详细介绍ActiveMQ高可用集群的安装和配置过程,该集群使用ZooKeeper和LevelDB实现高可用性。 ActiveMQ高可用集群规划 在部署ActiveMQ高可用...

    run-jetty-run.rar

    - 负载均衡和集群:通过Jetty的集群功能,可以在多台服务器间分发负载,提高系统的可用性和性能。 总结,"run-jetty-run.rar"是Java Web开发中的一个实用工具,极大地简化了Jetty服务器的使用过程,让开发者能够更...

    jetty简单启动web服务第二版

    - 每个Jetty实例可以运行一个微服务,或者通过集群和负载均衡运行多个实例来提供高可用性。 6. **Jetty的并发模型** - Jetty使用NIO(非阻塞I/O)模型,能够高效处理大量并发连接。 - 它的线程池设计允许动态...

    Jetty6_指南书

    对于Jetty的高级特性,如Handler的详细用法、类加载器、Connector的SSL配置、虚拟主机的设置、服务器管理和JNDI的配置,以及会话和集群管理,都进行了详细的阐述。性能优化章节则讨论了线程池调整、内存配置、GZIP...

    solr集群安装部署

    【Solr集群安装部署】 Apache Solr 是一个流行的开源全文搜索引擎,它提供了...在进一步优化集群时,需要根据业务需求调整配置,比如增加更多的Solr节点,调整Zookeeper的配置,以及实现更高级的故障转移和恢复机制。

    《Jetty6_指南书》

    - **易用性**: Jetty配置简单,Tomcat配置相对复杂。 - **功能**: Tomcat包含了更多的企业级功能。 #### 二、Jetty初探 ##### 2.1 下载 - **官方下载**: 通常可以在Jetty官方网站上找到最新版本的下载链接。 - *...

    jetty-9.2.6.zip

    8. **集群和负载均衡**:Jetty可以与其他Jetty实例组成集群,实现负载均衡和故障转移,提高系统的可用性和可靠性。 9. **性能优化**:Jetty通过高效的连接器、线程模型和内存管理策略,优化了请求处理速度,提供了...

    window系统搭建activeMQ集群和操作步骤

    下面将详细介绍如何在Windows环境下配置ActiveMQ集群及其操作步骤。 1. **ActiveMQ集群概念** - **集群**:ActiveMQ集群是多个ActiveMQ服务器实例的集合,它们共享消息负载,提高系统的可用性和可靠性。当一个节点...

    activemq集群配置文档.docx

    activemq集群配置文档 基于Zookeeper和ActiveMQ的集群配置文档旨在实现高可用的消息队列系统。该文档将详细介绍如何使用Zookeeper实现Master-Slave模式来实现高可用性,并提供具体的部署方案和配置步骤。 一、 ...

    高可用之ActiveMQ高可用集群(ZooKeeper+LevelDB)安装、配置(伪集群).docx

    【ActiveMQ高可用集群原理与配置】 ActiveMQ是一款开源的消息中间件,它提供高可靠性的消息传递服务。在高可用性集群模式下,ActiveMQ可以通过多种方式实现冗余和故障转移,以确保即使在单个节点失败时,消息传递也...

    jetty使用文档

    本文档将深入探讨 Jetty 的各个方面,帮助读者理解其核心功能、特点、配置以及如何在实际项目中应用。 1. **Jetty 功能介绍** - Jetty 支持多种协议,包括 HTTP/HTTPS、WebSocket 等。 - 提供灵活的部署方式,...

Global site tag (gtag.js) - Google Analytics