怎么配置tomcat服务器 如何搭建tomcat服务器配置( 二 )


11、作为engine的英文意思 , Engine驱动和管理内部子容器 。因为它是顶层管理器 , 所以它将包含一些组件来帮助管理子容器 。引擎可以有多个主机容器 , 可以理解为虚拟主机(URL地址中的主机部分是抽象的);主机容器中有多个Context容器 , Context是一个Web应用 。
12、上下文容器中有多个包装器容器 , 通常不需要在服务器中配置 。xml包装器是Servlet的包装器 , Servlet是一种业务功能 。如果对应服务房的比喻 , 可以把发动机比作房子里所有房间的总和 , 或者说是通向每个房间的走道 。
13、主人是一个房间 , 房间里有一些家具电器(语境) , 每个家具电器都有很多功能(包装) 。Tomcat运行实例服务器它是服务器Tomcat的运行实例的抽象 , 管理多个内部服务 。在Tomcat源代码中 , Server的默认标准实现是
14、org.Apache.catalina.core.standardServer:默认有6个生命周期监听器 , 监听Server不同运行阶段的事件并作出响应 。
15、GlobalNamingResources全局命名资源 , 通过JNDI提供统一的命名对象访问接口 。Server监听了一个端口 , 默认80如果这个端口传来SHUTDOWN指令 , 则关闭Tomcat 。Server还有两个定时任务 , 监听触发一些在Tomcat整个生命周期里周期性事件 , 暂时只有自动部署 。
16、1生命周期监听器(1)版本日志侦听器
17、org.Apache.catalina.startup.versionloggerlistener监听初始化阶段 , 输出一些运行日志 , 如操作系统、JDK、Tomcat版本信息以及catalina.base和catalina.home的定义等 。(2)aplifecyclelistenerTomcat可以使用APR本地库解决操作系统层面的异步IO问题 , 通过JNI调用APR本地库 , 大大提高静态资源的处理性能 。
18、org.Apache.catalina.core.aprlifecyclelistener对初始化前的事件和销毁后的事件感兴趣:在Tomcat初始化之前 , AprLifecycleListener试图初始化APR库 。
19、如果初始化成功 , APR将用于接收和处理客户端的请求 。在Tomcat被销毁后 , AprLifecycleListener将在4月15日进行一些销毁终止操作 。(3)JreMemoryLeakPreventionListener
20、org.Apache.catalina.core.jrememoryleakpreventionlistener在Tomcat初始化时会使用系统类加载器预加载部分JRE类并设置URLConnectioncachedisable属性 , 以避免线程上下文类加载器为Tomcat定制的Webappclassloader时JRE加载导致的内存泄漏和URLConnectioncache导致的文件锁定问题 。
21、(4)GlobalResourcesLifecycleListener
22、org.Apache.catalina.mbean.globalresourceslifecyclelistener将在Tomcat启动时为JNDI创建mbean , 并在Tomcat停止时销毁mbean 。(5)threadlocaliakpreventionlistener
23、org.Apache.catalina.core.threadlocaleakprovisionlistener在监听器停止监听上下文后 , 销毁连接器Connector中执行器的所有核心工作线程并重新创建 , 以避免使用threadlocal导致的内存泄漏 。(6)NamingContextListener[/S2/]
24、org.Apache.catalina.core.namingcontextlistenerlistener在Tomcat启动时创建并绑定全局命名资源 , 并在Tomcat停止前做一些解除绑定全局命名资源、注销、销毁等操作 。
25、2全球命名资源GlobalNamingResources是一个全局命名资源 , 它通过JNDI提供统一的命名对象访问接口 。JNDI(JavaNamingandDirectoryInterface , Java命名和目录接口)是一项古老的技术 , 在历史遗留下来的企业应用中可能还在使用 , 比如获取一个数据库连接资源、自定义配置等 。启动配置文件中的这种强耦合方式不再适用于轻量级应用程序和分布式服务 。

推荐阅读