收藏 分享(赏)

推荐 tomcat6启动源码浅析二.doc

上传人:HR专家 文档编号:5137194 上传时间:2019-02-10 格式:DOC 页数:9 大小:41.43KB
下载 相关 举报
推荐 tomcat6启动源码浅析二.doc_第1页
第1页 / 共9页
推荐 tomcat6启动源码浅析二.doc_第2页
第2页 / 共9页
推荐 tomcat6启动源码浅析二.doc_第3页
第3页 / 共9页
推荐 tomcat6启动源码浅析二.doc_第4页
第4页 / 共9页
推荐 tomcat6启动源码浅析二.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、推荐 tomcat6启动源码浅析二推荐tomcat6启动源码浅析二 2011年04月05 日2) PersonService.java/PersonServiceBean.java PersonService.java: Java代码 public inte*ce PersonService public void save(); PersonServiceBean.java: public class PersonServiceBean implements PersonService public void save() System.out.println(“Save Method is

2、 running.“); public inte*ce PersonService public void save(); PersonServiceBean.java: public class PersonServiceBean implements PersonService public void save() System.out.println(“Save Method is running.“); 3) 测试类:SpringTest.java Java代码 public class SpringTest /* * throws java.lang.Exception */ Bef

3、oreClass public static void setUpBeforeClass() throws Exception Test public void instanceSpring() ApplicationContext context = new ClassPathXmlApplicationContext(“beans.xml“); PersonService personService = (PersonService)context.getBean(“personService“); personService.save(); public class SpringTest

4、 /* * throws java.lang.Exception */ BeforeClass public static void setUpBeforeClass() throws Exception Test public void instanceSpring() ApplicationContext context = new ClassPathXmlApplicationContext(“beans.xml“); PersonService personService = (PersonService)context.getBean(“personService“); person

5、Service.save(); Console施行: Log代码 Save method is running. Save method is running. 当然,在这个方法被调用之前,构造函数和init()方法都已经被调用。 2. 静态工厂(Static Factory) 如: bean id=”personService” class=”com.spring.service.impl.PersonServiceBeanFactory” factory-method=”createPersonServiceBean”/ 1) beans.xml: Xml代码 bean id=”perso

6、nService” class=”com.spring.service.impl.PersonServiceBeanFactory” factory-method=”createPersonServiceBean”/ bean id=”personService” class=”com.spring.service.impl.PersonServiceBeanFactory” factory-method=”createPersonServiceBean”/ 2) PersonService.java和PersonServiceBean.java同上 3) PersonServiceBeanF

7、actory.java Java代码 public class PersonServiceBeanFactory public static PersonServiceBean createPersonServiceBean() return new PersonServiceBean(); public class PersonServiceBeanFactory public static PersonServiceBean createPersonServiceBean() return new PersonServiceBean(); 4) SpringTest.java:同上 3.

8、实例工厂 如: bean id=”personService” class=”com.spring.service.impl.PersonServiceBeanFactory” factory-bean=”PersonServiceBeanFacotory” factory-method=”createPersonServiceBean”/ 1) beans.xml: Xml代码 bean id=”personService” class=”com.spring.service.impl.PersonServiceBeanFactory” factory-bean=”PersonService

9、BeanFacotory” factory-method=”createPersonServiceBean”/ bean id=”personService” class=”com.spring.service.impl.PersonServiceBeanFactory” factory-bean=”PersonServiceBeanFacotory” factory-method=”createPersonServiceBean”/ 2) PersonService.java和PersonServiceBean.java同上 3) PersonServiceBeanFactory.java

10、Java代码 public class PersonServiceBeanFactory public PersonServiceBean createPersonServiceBean2() return new PersonServiceBean(); public class PersonServiceBeanFactory public PersonServiceBean createPersonServiceBean2() return new PersonServiceBean(); 4) SpringTest.java:同上 四 Bean的作用域 Bean的作用域在Spring中

11、主要用到两个:Sing 生局部屈服现象 , 不能终止裂纹扩展 , 因此脆性裂纹不耐拉伸。而在压缩条件下 , 任何已经存在裂纹都可能闭合。 器量构件在弹性范围内受力时变形大小的因素之一 , 刚性 刚性是构造抗弯曲和翘曲的能力 . 与资料的弹性模量和结构元件的截面形状有关。 GB150 附录 I 给出了不同类别钢材在不同温度下的弹性模量。 则应考虑材料的外表软度。 软度 软度是抵抗其它物体刻划或压入其表面的能力。用规范试验方法测得的外表软度适枋料耐磨能力的重要指标。如果容器是用于处置有摩擦性的固体或含有引起磨蚀的悬浮固体的流体物料时 . 经过一段时间后 , 疲逸 资料或元件在交变 应力 作用下 .

12、 内部缺陷或 应力 集合的部位 , 局部发生细微的裂纹 , 裂纹逐渐扩展以窒贲 应力 远小于屈服点或强度极限的情况下 , 忽然发生脆性断裂 , 这种现象称为疲逸。疲逸极限即资料接受近无限次 应力 循环 , 而不破坏的最大 应力 值。 4.5.1 资料的耐腐蚀性能 均匀腐蚀 均匀腐蚀的特点是整个金属外表均匀的发生腐蚀作用。这种腐蚀相对于其他体式格局的腐蚀其危害性最小。设计中根据经历考虑腐蚀余量或选用适宜腐蚀资料就可以保证设备的强度要求和使用寿命。 可能以各种体式格局形成阴极区域从而组成电化学电池 , 电化腐蚀 电化腐蚀是金属和电解质溶液间由于电化学作用而产生的对金属材料的腐蚀。压力容器在使用过程

13、中 . 这种阴极区域可以是不同的金属资料 ; 腐蚀产物 ; 金属中的夹渣等杂质 ; 充气不良的区域 ; 浓差区域 ; 不同变形的区域等 , 从而形成了腐蚀过程。 并能使裂纹迅速发展 , 应力 腐蚀 应力 腐蚀是指金属在 应力 和腐蚀性介质联合作用下发生腐蚀裂纹 . 从而可能出现金属资料的早期脆性破坏的腐蚀体式格局。 并沿晶粒边缘向深处发展 , 晶间腐蚀 晶间腐蚀发生在晶粒边界处 . 使晶粒间的连接遭到破坏 , 显著降低资料的力学性能 , 外表不易发现 , 金属的破坏是忽然发生的 金属外表形成凹坑的非常局部的腐蚀。一旦形成点蚀 , 点蚀 点蚀是一种局部腐蚀 . 则可能会引起材料的穿透。 以至在弱

14、腐蚀条件下也可能大大减少结构元件的寿命 ; 与 应力 腐蚀不同 , 腐蚀疲劳 腐蚀疲劳是指在腐蚀 环境 中由于循环 应力 所引起的资料早期失效 . 腐蚀疲劳能够呈现在任何腐蚀 环境 中 , 并不决定于某一特定腐蚀介质和金属材料的组合 , 因此 , 对于接受循环 应力 的结构 , 必需要选用具有精良耐蚀性材料。 还要注意资料的加工工艺性能 , 此外 . 如焊接性能 , 成型工艺性能等。钢材的金属结构和热处理状态 , 如材料的金相组织 , 热处理等。 4.6 资料磨练 除了应符合有关资料规范的规定外,制造设备的资料。还要符合图纸上的要求。对于板材内部的缺陷,大都采用超声波探伤磨练。需否逐张磨练,应

15、根据设备的压力、物料的性质、钢种与板厚来确定。由于轧制过程的原因,厚板的质量大多较薄板的质量差一些,通常情况下,碳钢的厚度大于 38mm 低合金钢的厚度大于 25mm 时,都需进行逐张超声波探伤。 4.7 焊接及特点 能接受相当下的温度和压力载荷, 焊接是化工设备制造中的主要手段。化工生产要求设备上所有的焊缝不但应严密牢固。而且要求能抵抗物料的腐蚀。因此, 反应釜质量除钢板本身的质量外主要取决焊接的质量。因为它将直接影响到塔设备 反应釜使用寿命和安全运转。为此,焊接前应根据手艺要求制定焊接工艺规程,并由考试合格的焊工施焊。 这是一种快速反应的冶金过程。引起焊接变形与发生个 应力 的因素很多,焊

16、接要求金属先熔化后凝固。主要有以下几方面: 焊缝金属由液态凝固时体积缩小。 焊接时不均匀的冷却和受热。 引起体积不均匀变化。 母材的显微组织发生相变。 焊接时可能发生再结晶,经过塑性变形后的焊件。使金属纤维发生不均匀的变形。 两个被焊接厚度相差较大。 焊接自身的重量和厚度。 其中受热而引起的变形,这些因素都可能引起变形。称为热变形,因结晶组织改变而引起的变形称为结构变形。如果变形受到焊接自身的刚性,重量或外力的阻碍,焊件内就会产生 应力 。减低 应力 或防止变形的措施有两类:即从设计上拟定合理的焊接结构和在制造上实施合理的焊接工。 4.8 密封 机械密封和填料密封 4.7.1 填料密封 使之发

17、生径向扩张而起到密封,填料密封原理是依据轴向压紧填料。由于周与填料为动密封,填料对轴的摩擦力很大,导致轴发热使轴的工作状况变坏,轴的所需功率增大,而且密封性能较差,如轴的拆置有较大偏差时,会引起泄漏,但填料密封的价格较廉价。 4.7.2 机械密封 机械密封是一种功率小、泄漏率低、密封性能可靠、使用寿命长的转轴密封。 除了装在轴上的浮动环由于磨损需作轴向移动弥挖外,被广泛地应用于各个技术领域。机械密封在运行时。装置在浮动环上的辅助密封则随浮动环沿轴外表作微小移动,故轴或轴套被磨损是微不足道的因而可免去轴或轴套的维修。由于机械密封有很多优点,因此,搅拌设备上被大量采用。 设置在垂直于转轴的两个密封

18、面(其中一个安装 其原理如下;当轴旋转时。 另一个安装在静止的机壳上)通过弹簧力的作用,轴上随轴迁移转变。始终使它坚持接触,并作相对运动,使泄漏不致发生。机械密封常因轴的尺寸和使用压力增加而使结构趋于复杂。 4.7.3 机械密封和填料密封比拟的特点 一个较长的使用期间,密封可靠。不会泄漏或很少泄漏 弹簧的恢复力能使动唤报静唤暴发生轴向移动,当密封端面磨损一些后。来挖偿端面的磨损,从而始终谦足密封要求。 而填 使用寿命长。正确地选择摩擦副的资料和比压的机械密封可用 2 年多。 料密封只有最多 6 个月 摩擦功耗小,轴和轴套不易磨损。一般约为填料密封的 10% 50% 不需要维修 维修周期长。正常

19、工作情况下。 对轴的振动和轴对壳体孔的偏心不敏感 能用于低温、下温、下真空、下压,运用范围广。各种转速及各种腐蚀性、 有毒的介质密封 易燃、易爆。 需要有一定的加工和安装技术。 结构比填料密封复杂。 上一篇白章只是很简单的跟踪了tomcat启动的主线(因为刚刚看代码,所以不可能一下子齐部都看的懂,比较菜),本次把最近看到的一些新的内容和领悟继续分享一下,本次关心的主题是tomcat是怎样启动的时候部署webapp下面的每一个web应用的?什么减肥产品好 减肥产品哪个好 前面的启动分析在之前的文章中有介绍,直接从Catalina开始看起。绿色减肥在此先说明一点,即将出场的:StandardEng

20、ine,StandardHost,StandardContext都是继承自ContainerBase的容器类。 1. Catalina的load()方法会调用Digester的parse()解析相关的xml文件并且根据不同的Rule映照对应的Bean,其中映照到的StandardEngine实例会根据相应的Rule反射调用其父类addChild(Container child)把StandardHost加入到children的map中,而映照到的StandardService实例会根据相应的Rule反射调用其setContainer(Container container)把StandardE

21、ngine赋值给StandService的container属性,这样完成了热身运动。 2. 接着就是Catalina(start)-StandardServer(start)-StandardSe rvice(start)-StandardEngine(start),到达此处还没有开始任何部署的主要工作,此时进入父类StandardEngineContainerBase.start()方法: 部分代码: . / Start our child containers, if any Container children = findChildren(); for (int i = 0; i c

22、hildren.length; i+) if (childreni instanceof Lifecycle) (Lifecycle) childreni).start(); . 这里的children数组里面就是之前的StandardHost类的实例,代码的走向: StandardEnginename=Catalina,method=start- StandardHostname=localhost,method=start,好戏就要开始了. 3. 继续之前,先说一下这部分的设计思路。基本上就是Observer模式主导,容器类通过addLifecycleListener方法调用事件公布辅助类LifecycleSupport的addLifecycleListener方法注册listener,同时LifecycleSupport提供方法fireLifecycleEvent给各个已注册的listener发送事件告诉,主要是给 恶搞这里面的网址都是我的译文,也相当于毕业论文,麻烦大家随便打开一个网址进去一下,IP上不去,就不能毕业了,拜托! 推荐魔鬼身材速成餐 三天快速有效快速减肥瘦身减肥

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报