`

Chapter 2 - Jetty读取配置文件和Loader(3)

阅读更多
Server的启动

AbstractLifeCycle类实现了LifeCycle接口(start(), stop()),并提供了doStart()和doStop()方法

    public final void start() throws Exception
    {
        synchronized (_lock)
        {
            try
            {
                if (_state == STARTED || _state == STARTING)
                    return;
                setStarting();
                doStart();
                setStarted();
            }
            // code omitted
        }
    }


AbstractLifeCycle的子类需要重写doStart()和doStop()方法,如Server类:

    protected void doStart() throws Exception
    {
        for (int i=0;_realms !=null && i<_realms.length; i++)
        {
            if (_realms[i] instanceof LifeCycle)
                ((LifeCycle)_realms[i]).start(); // 启动realms
        }

        Iterator itor = _dependentLifeCycles.iterator();
        while (itor.hasNext())
        {   
            try
            {
                ((LifeCycle)itor.next()).start(); // 启动依赖组件
            }
            catch (Throwable e) {mex.add(e);}
        }
        
        if (_threadPool==null)
        {
            QueuedThreadPool tp=new QueuedThreadPool();
            setThreadPool(tp); // 设置线程池
        }
        
        if (_sessionIdManager!=null)
            _sessionIdManager.start(); // 启动会话ID管理器
        
        try
        {
            if (_threadPool instanceof LifeCycle)
                ((LifeCycle)_threadPool).start(); // 启动线程池
        } 
        catch(Throwable e) { mex.add(e);}
        
        try 
        { 
            super.doStart(); 
        } 
        catch(Throwable e) 
        { 
            Log.warn("Error starting handlers",e);
        }
        
        if (_connectors!=null)
        {
            for (int i=0;i<_connectors.length;i++)
            {
                try{_connectors[i].start();} // 启动连接器
                catch(Throwable e)
                {
                    mex.add(e);
                }
            }
        }
        mex.ifExceptionThrow();
    }
分享到:
评论

相关推荐

    eclipse jetty插件run-jetty-run-1.3.3

    eclipse jetty插件,从...下载run-jetty-run.zip文件,解压后再编写个links文件丢到eclipse的dropins目录下即可,省去了使用eclipse update方式安装的麻烦。 link文件样例如: path=d:\\eclipse_plugins\\run-jetty-run

    run-jetty-run 1.3.5eclipse插件包

    安装方法为新加一个run-jetty-run.link文件,文件内容为 path=G:\\eclipse_plugins\\run-jetty-run 执行解压后的路径文件夹即可。 在线安装地址为: http://xzer.github.io/run-jetty-run-updatesite/nightly/ 支持...

    maven集成jetty所需jar包maven-jetty-plugin,多版本

    要在Maven项目中使用`maven-jetty-plugin`,首先需要在项目的`pom.xml`文件中添加插件的配置。例如: ```xml ... &lt;groupId&gt;org.mortbay.jetty &lt;artifactId&gt;maven-jetty-plugin &lt;version&gt;6.1.x...

    i-jetty源码

    3. **运行i-jetty**:编译完成后,你可以通过Java的`java -jar`命令运行生成的JAR文件,例如:`java -jar target/i-jetty-3.1.jar`。根据项目的具体配置,可能需要提供额外的启动参数。 四、源码学习 深入学习i-...

    maven-jetty-plugin

    &lt;artifactId&gt;maven-jetty-plugin 版本号 &lt;!-- 配置项 --&gt; ... ``` 总的来说,Maven Jetty Plugin是Java Web开发者的重要工具,它简化了开发流程,提高了效率,同时也为持续集成和持续部署提供了便利...

    cxf-rt-transports-http-jetty-3.0.2.zip

    综上所述,"cxf-rt-transports-http-jetty-3.0.2.zip"和"jcabi-aspects.zip"分别是Apache CXF框架的一个组件和一个Java注解库,它们都为Java开发者提供了强大的工具,以更高效和灵活的方式构建和管理Web服务及应用...

    i-jetty libs包

    android i-jetty servlet-api-2.5.jar jetty-servlet-7.6.0.RC4.jar jetty-server-7.6.0.RC4.jar jetty-http-7.6.0.RC4.jar

    Android-I-Jetty服务器

    **Android-I-Jetty服务器详解** ...总之,Android-I-Jetty服务器为开发者提供了一种在Android设备上运行自定义Web服务的便捷方式,结合`i-jetty-ui`,可以更好地管理和监控服务器状态,提高开发效率。

    Android源码——i-jetty开源项目.zip

    2. **Jetty基础** Jetty是一款流行的、高性能的Java HTTP服务器和Servlet容器。它以其轻量级、快速和稳定而受到青睐。在Android平台上,由于资源限制,i-jetty项目对Jetty进行了优化,使其更适合在移动设备上运行。...

    i-jetty-lib

    2. 压缩包中的预配置Eclipse环境意味着开发者无需从头设置Android项目和Jetty库,节省了初始配置的时间和精力。 3. 使用Eclipse进行Android开发时,可以利用其强大的代码编辑、调试和版本控制功能,提高开发效率。 ...

    run-jetty-run

    此外,run-jetty-run还支持多项目配置,这意味着你可以同时管理多个Jetty服务器实例,每个实例对应不同的项目,这对于同时处理多个Web应用的开发任务非常有帮助。通过插件的设置界面,开发者可以配置Jetty的端口号、...

    i-jetty 项目lib和apk源码

    这个项目包含两大部分:`i-jetty_lib`和`i-jetty-master`。 `i-jetty_lib`文件夹可能包含了i-jetty的核心库文件,这是一个预编译的Java类库(jar包),开发者可以将它集成到他们的Android应用中。这个库文件通常...

    run-jetty-run eclipse 离线安装包

    总的来说,Run-Jetty-Run插件是Eclipse开发环境与Jetty服务器之间的一座桥梁,它极大地简化了Jetty的使用流程,让开发者可以更加专注于应用的开发和调试,而无需关心底层服务器的配置和管理。通过离线安装包的方式,...

    I-Jetty相关jar包

    2. **Jetty Server**: 这是I-Jetty自身的核心组件,可能包含多个版本的jar包,如`jetty-server.jar`、`jetty-http.jar`、`jetty-io.jar`等,用于构建和管理Web服务器。 3. **Jetty Servlet Handler**: 用来处理...

    Run-Jetty 插件 离线安装

    Run-Jetty插件是开发人员在使用IntelliJ IDEA或Eclipse等集成开发环境时,为了方便本地快速启动和调试Jetty服务器而设计的一款工具。由于网络环境的不稳定或者访问限制,有时候在线安装插件可能会遇到困难,这时离线...

    maven-jetty-plugin-6.1.3.jar

    maven-jetty-plugin-6.1.3.jar

    maven-jetty-plugin-6.1.26-sources.jar

    maven-jetty-plugin-6.1.26-sources.jar

    maven-jetty-jspc-plugin-6.1.9.jar

    maven-jetty-jspc-plugin-6.1.9.jar

    maven-jetty-jspc-plugin-6.1.25-sources.jar

    maven-jetty-jspc-plugin-6.1.25-sources.jar

    i-jetty libs

    对于任何使用i-jetty的人来说,理解并正确配置这些库文件至关重要,因为它们将直接影响到i-jetty的功能和性能。 在实际应用中,开发者在使用这些库文件时,通常需要遵循以下步骤: 1. **解压**:首先,将名为"libs...

Global site tag (gtag.js) - Google Analytics