jetty-start(2)

来源:互联网 发布:mac怎么清理缓存 编辑:程序博客网 时间:2024/04/27 23:21

 Main函数主要分三步走,一是解析start.int(默认为jetty的安装路径)并将解析后的参数将其放入一个list里,二是来处理放到list中的参数,来设置相应的标志位或调用相应的服务。最后是调用start(List)方法。

  

  start方法的主要逻辑有

(1)    start一个监控流程,此线程监听本地的命令,如果是stop,则调用System.exit(0)退出进程,如果是status则告诉你现在jetty是OK的,当然这只是在一切正常的情况下,出错了会在标准错误输出中打印出错误信息。

(2)    把list中的参数封装进org.eclipse.jetty.Config中

(3)    根据_secure字段决定是否设置安全模式

(4)    根据_config中已配置的当前活动类路径,设置系统属性classpath,并得到加载此路径类下的class文件的classloader。

(5)    开启命令行来执行执行jetty,值得主要命令行缓冲区大小有限,必须开启3个线程及时除了输入、输出、错误输出。

(6)    设置当前线程上下文类加载器为(4)得到的类加载器。

(7)    通过反射,执行jetty的HttpServer的主方法。

 

这基本就是jetty启动前的准备工作,看得不是很仔细,有错误请提出。

以后的文章会剖析jetty的几大模块,以及分析web服务器的构建。

原创粉丝点击