jetty6提供Continuations机制,来实现异步Servlet功能。
采用提供IO多路复用的连接器实现,使得服务器可以用较少的资源来服务更多的并发请求。
一. jetty服务配置文件
$JETTY_HOME/ etc/jetty.xml
1. 初始化一个Server对象实例,然后给它注册一个或多个Connector对象实例、注册一个ThreadPool对象、注册一个Handler对象或Handler集合。
1.1 Connector: 连接器
nio.SelectChannelConnector的属性lowResourcesConnections配置为5000, Acceptors配置为2
2.2 Handler:处理器
2.3 ThreadPool:线程池
2. Deployer: 部署
2.1 静态部署,WedAppDeployer:web应用部署到
$JETTY_HOME/ webapps/下。
2.1.1. jetty-web.xml web应用部署配置文件: WEB-INF/下
jetty-web.xml or web-jetty.xml (不同版本)
JettyWebXmlConfiguration中Resource jetty=web_inf.addPath("jetty6-web.xml");
2.1.2. jetty-env.xml web应用JNDI配置文件: WEB-INF/下
jetty-env.xml
EnvConfiguration中Resource jettyEnv = web_inf.addPath("jetty-env.xml");
Jetty6RunWarExploded中File jettyEnvXmlFile = new File(webInfDir, "jetty-env.xml");
2.2 热部署,ContextDeployer:有一个线程根据设置的scanInterval扫描$
$JETTY_HOME/ contexts/下xml动态部署配置文件,
如:test.xml对test web应用设置进行描述。
2.3 为WebAppContext类型的应用程序提供一个默认的配置(为web.xml的一些默认配置)。
ContextDeployer和WebAppDeployer的配置中属性defaultsDescriptor配置
$JETTY_HOME/ etc/webdefault.xml
2.4
3.
UserRealms: 安全
RequestLog: 日志
4. extra: 另外
参考资料:
Architecture - Jetty - Codehaus: http://docs.codehaus.org/display/JETTY/Architecture