How Tomcat works 14: Service 和 Server

一、Server
    1. 总体架构位置


    2. Server的设计目的
    Server提供了优雅的启动停止所有内部组件的功能,有了server,无需再单独启动connector和Container
    3. Server具体内部功能
    server的许多内部方法都可以配置在server.xml文件中。可以包含0个到多个Service。Server的生命周期关联四个方法:initialize, start, stop,await(用于等待某个端口如8085的stop命令,收到则执行stop)


二、Service
    1. 概述:
    一个service通常可以有一个Container和多个connectors
    
    
三、带有server,service的bootStrap代码

Engine engine = new StandardEngine(); 
	engine.addChild(host); 
	engine.setDefaultHost("localhost"); 
	Service service = new StandardService(); 
	service.setName("Stand-alone Service"); 
	Server server = new StandardServer(); 
	server.addService(service); 
	service.addConnector(connector); 
	// StandardService class's setContainer method calls 
	// its connectors' setContainer method 
	service.setContainer(engine); 
	// Start the new server 
	if (server instanceof Lifecycle) { 
	  try { 
	    server.initialize(); 
	    ((Lifecycle) server).start(); 
	    server.await(); 
	    // the program waits until the await method returns, 
	    // i.e. until a shutdown command is received. }
	    catch (LifecycleException e) { 
	      e.printStackTrace(System.out);
	    } 
	} 
	// Shut down the server 
	if (server instanceof Lifecycle) { 
	  try { 
	      ((Lifecycle) server).stop(); 
	   } catch (LifecycleException e) { 
	   e.printStackTrace(System.out); 
	}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值