本文是把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
相关推荐
四、Jetty服务器集群配置 在Jetty服务器端,你需要确保每个服务器实例都在不同的端口上运行,例如,一个在8080端口,另一个在8081端口。此外,为了保证高可用性,可以在每个Jetty实例中启用session复制,防止用户...
这个wiki提供jetty的入门教程、基础配置、功能特性、优化、安全、JavaEE、监控、常见问题、故障排除帮助等等。它包含教程、使用手册、视频、特征描述、参考资料以及常见问题。 Jetty文档 ---------------- 入门...
#### 三、深入理解Jetty配置 ##### 3.1 Jetty配置概述 配置Jetty涉及到多个方面,包括但不限于连接器配置、上下文路径设置、安全设置等。Jetty的配置文件主要位于`etc`目录下,采用XML格式。 ##### 3.2 上下文...
通过本书,读者将能够全面了解Jetty 6的功能、架构、配置和最佳实践,从而更好地利用Jetty构建高性能、灵活的Web应用程序。虽然现在Jetty已更新至更高版本,但这些基础知识对于理解现代Jetty版本依然有很高的参考...
`jetty.xml`是Jetty的核心配置文件之一,它定义了Server的基本配置,包括Connectors、Handlers等组件的设置。 **4.2 Jetty xmlConfiguration语法** Jetty支持XML格式的配置文件,通过特定的XML元素和属性来描述...
7. **类加载器**、**Jetty Connector的SSL配置**、**虚拟主机**、**管理服务器**、**JNDI配置**、**会话与集群**、**性能优化**、**异步Servlet、Ajax和Comet**以及**嵌入Jetty**等内容,都是指南中详细阐述的主题,...
`org.mortbay.xml.XmlConfiguration`类提供了读取和解析Jetty配置文件的能力。用户可以通过这个类来加载配置文件,并将配置信息转换成Java对象模型,方便后续的配置管理和使用。 #### 五、在Jetty中部署Web应用程序...
Jetty 指南书是一本专注于Jetty web容器的详细教程,主要涵盖了Jetty的基础知识、安装配置、架构解析、服务配置、Web应用程序部署、Handler详解、类加载器、Connector配置、虚拟主机、服务器管理和性能优化等多个...
"ActiveMQ高可用集群(ZooKeeper+LevelDB)安装、配置(伪集群)" 本文将详细介绍ActiveMQ高可用集群的安装和配置过程,该集群使用ZooKeeper和LevelDB实现高可用性。 ActiveMQ高可用集群规划 在部署ActiveMQ高可用...
- 负载均衡和集群:通过Jetty的集群功能,可以在多台服务器间分发负载,提高系统的可用性和性能。 总结,"run-jetty-run.rar"是Java Web开发中的一个实用工具,极大地简化了Jetty服务器的使用过程,让开发者能够更...
- 每个Jetty实例可以运行一个微服务,或者通过集群和负载均衡运行多个实例来提供高可用性。 6. **Jetty的并发模型** - Jetty使用NIO(非阻塞I/O)模型,能够高效处理大量并发连接。 - 它的线程池设计允许动态...
对于Jetty的高级特性,如Handler的详细用法、类加载器、Connector的SSL配置、虚拟主机的设置、服务器管理和JNDI的配置,以及会话和集群管理,都进行了详细的阐述。性能优化章节则讨论了线程池调整、内存配置、GZIP...
【Solr集群安装部署】 Apache Solr 是一个流行的开源全文搜索引擎,它提供了...在进一步优化集群时,需要根据业务需求调整配置,比如增加更多的Solr节点,调整Zookeeper的配置,以及实现更高级的故障转移和恢复机制。
- **易用性**: Jetty配置简单,Tomcat配置相对复杂。 - **功能**: Tomcat包含了更多的企业级功能。 #### 二、Jetty初探 ##### 2.1 下载 - **官方下载**: 通常可以在Jetty官方网站上找到最新版本的下载链接。 - *...
8. **集群和负载均衡**:Jetty可以与其他Jetty实例组成集群,实现负载均衡和故障转移,提高系统的可用性和可靠性。 9. **性能优化**:Jetty通过高效的连接器、线程模型和内存管理策略,优化了请求处理速度,提供了...
下面将详细介绍如何在Windows环境下配置ActiveMQ集群及其操作步骤。 1. **ActiveMQ集群概念** - **集群**:ActiveMQ集群是多个ActiveMQ服务器实例的集合,它们共享消息负载,提高系统的可用性和可靠性。当一个节点...
activemq集群配置文档 基于Zookeeper和ActiveMQ的集群配置文档旨在实现高可用的消息队列系统。该文档将详细介绍如何使用Zookeeper实现Master-Slave模式来实现高可用性,并提供具体的部署方案和配置步骤。 一、 ...
【ActiveMQ高可用集群原理与配置】 ActiveMQ是一款开源的消息中间件,它提供高可靠性的消息传递服务。在高可用性集群模式下,ActiveMQ可以通过多种方式实现冗余和故障转移,以确保即使在单个节点失败时,消息传递也...
本文档将深入探讨 Jetty 的各个方面,帮助读者理解其核心功能、特点、配置以及如何在实际项目中应用。 1. **Jetty 功能介绍** - Jetty 支持多种协议,包括 HTTP/HTTPS、WebSocket 等。 - 提供灵活的部署方式,...