`

jetty集成spring配置

阅读更多

jetty是一个轻量级的java web容器,已经变得越来越流行,比较好的一点是它可以作为组件嵌入到java应用中,而不需要像tomcat一样将web项目部署到某个目录下,当然 tomcat也有自己的embeded版本。Google甚至选择了jetty而放弃了tomcat,可见jetty的受欢迎程度。下面提供一个spring集成jetty应用的一种方式,场景是,web server情况下,jetty接受请求,处理后返回xml或json格式的响应。

        <bean id="JettyServer" class="org.eclipse.jetty.server.Server"
                init-method="start" destroy-method="stop">
                <property name="threadPool">
                        <bean id="defaultThreadPool" class="org.eclipse.jetty.util.thread.QueuedThreadPool">
                                <property name="minThreads" value="10" />
                                <property name="maxThreads" value="200" />
                        </bean>
                </property>
                <property name="connectors">
                        <list>
                                <bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector">
                                        <property name="port" value="8081" />
                                        <property name="maxIdleTime" value="30000" />
                                        <property name="lowResourcesConnections" value="5000" />
                                        <property name="lowResourcesMaxIdleTime" value="5000" />
                                        <property name="acceptors" value="4" />
                                        <property name="statsOn" value="false" />
                                        <property name="acceptQueueSize" value="500" />
                                </bean>
                        </list>
                </property>
                <property name="handler">
                        <bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerList">
                                <property name="handlers">
                                        <list>
                                                <bean class="com.ztgame.centralserver.joint.JointHandler" />
                                                <bean class="org.eclipse.jetty.server.handler.DefaultHandler" />
                                                <bean class="org.eclipse.jetty.server.handler.RequestLogHandler">
                                                        <property name="requestLog">
                                                                <bean class="org.eclipse.jetty.server.NCSARequestLog">
                                                                        <property name="append" value="true" />
                                                                        <property name="filename" value="/log/rat/jetty.log.yyyy_mm_dd" />
                                                                        <property name="extended" value="true" />
                                                                        <property name="retainDays" value="999" />
                                                                        <property name="filenameDateFormat" value="yyy-MM-dd" />
                                                                </bean>
                                                        </property>
                                                </bean>
                                        </list>
                                </property>
                        </bean>
                </property>
        </bean>

 

关于高负载下jetty的配置,可以参考如下文档,包括对linux服务器tcp的一些限制修改,以及jetty自身connector的配置。

分析了jetty的源代码,默认acceptQueueSize的大小为50,但是在高负载下,这个值是远远不够的,看到过一个1000 r/s的场景,将这个值设为12000。因此可以根据实际情况调大这个值。

http://wiki.eclipse.org/Jetty/Howto/High_Load

http://docs.codehaus.org/display/JETTY/HighLoadServers

 

分享到:
评论

相关推荐

    jetty 整合spring+mybatis

    4. **Spring与MyBatis整合**:在Spring配置文件中,使用`mybatis-spring`库提供的`SqlSessionFactoryBean`和`MapperScannerConfigurer`,这样Spring可以管理MyBatis的SqlSession和Mapper接口。 5. **创建业务服务和...

    java应用程序实现jetty 集成jersey 和spring

    2. 配置Spring:创建Spring配置文件,定义Bean和它们之间的依赖关系。 3. 使用Spring的DispatcherServlet:配置Jetty来处理Spring的请求,通常会有一个`SpringServlet`来处理HTTP请求,并通过Spring MVC框架解析。 4...

    自己构建微服务(springmvc+内嵌jetty+maven 环境配置)

    构建这样的微服务涉及到配置开发环境,包括安装Java Development Kit (JDK)、设置环境变量、配置Maven的pom.xml文件以声明依赖项,以及为Jetty和Spring MVC设置合适的配置文件。 6. **实践步骤**: - 首先,创建...

    jetty 整合spring

    - **配置Jetty-Spring模块**:Spring提供了Jetty的Servlet容器模块,可以在Spring配置文件中声明Jetty服务器,并配置Servlet和过滤器。 - **创建Spring应用上下文**:编写Spring的bean定义XML文件,定义服务、DAO、...

    jetty 手动 加载spring mvc demo

    1. **创建Spring配置**:首先,你需要创建一个Spring的配置文件,如`servlet-context.xml`,该文件定义了Spring MVC的组件,如DispatcherServlet、视图解析器和映射路径等。 2. **编写Controller**:接着,编写...

    maven+spring MVC+Mybatis+jetty+mysql

    在本项目中,Maven 负责集成所有依赖,包括Spring MVC、Mybatis、Jetty和MySQL驱动等。 2. Spring MVC: Spring MVC 是Spring框架的一部分,它是一个基于模型-视图-控制器(Model-View-Controller)设计模式的Web...

    Spring整合Jetty开发web应用的例程

    - 创建Server对象:在Spring配置文件中定义一个`org.eclipse.jetty.server.Server`bean,设置端口和其他服务器属性。 - 添加Servlet容器:创建`org.eclipse.jetty.servlet.ServletContextHandler`对象,并设置其上...

    jetty整合springmvc例子

    - **创建Spring配置**:定义Spring的配置文件,包括Bean的定义和SpringMVC的相关配置,如视图解析器。 - **编写Controller**:创建SpringMVC的Controller类,处理HTTP请求。 - **启动Jetty**:在主程序中,通过...

    spring boot内置jetty

    内置 Jetty 服务器是 Spring Boot 的一个重要特性,允许开发者快速启动和运行 web 应用,而无需手动配置服务器。Jetty 是一个轻量级、高性能的开源 HTTP 服务器和 Java Servlet 容器,它被广泛用于各种类型的 web ...

    springbatch_嵌入式jetty_动态控制的quartz

    支持web接口的批处理框架 在eclipse中导出为可执行的jar,无需部署到任何web容器中。直接通过bat或shell启动即可。...mybatis3.4.1 druid1.0.17 smg3(决策引擎) jetty8.1.5 fastjson1.2.7 springjdbc3.2.14

    apache wink集成spring 开发rest服务

    2. **Spring配置**:在Spring配置文件中,我们需要声明Wink的相关bean,如`WinkServlet`和`DispatcherServlet`,并设置它们的路径映射。此外,可以使用Spring的`@Component`注解标记Wink资源类,然后通过`...

    Jetty中文手册

    如何使用Spring来配置Jetty 如何使用XBean来配置Jetty 客户端 Asynchronous HTTP Client教程 日志 / 监控 如何配置Request Logs 如何配置自定义错误页面(Custom Error Pages) 配置Jetty Statistics(统计) 配置...

    Spring+Netty+WebSocket实例

    在WebSocket方面,Spring提供了一个名为`Spring Websocket`的模块,使得开发者可以方便地在Spring应用中集成WebSocket,支持Stomp协议,简化了服务器与客户端的交互。 Netty则是一个高性能、异步事件驱动的网络应用...

    [web工程]集成spring3

    在开始集成Spring 3之前,确保你已经安装了以下基础软件: - Java Development Kit (JDK):Spring 3需要Java 6或更高版本。 - 开发环境:Eclipse, IntelliJ IDEA等主流IDE,便于代码编辑和管理。 - 应用服务器:...

    maven+spring+jetty+logback简单项目源码

    4. `Jetty`的集成与使用:理解如何配置`Jetty`作为应用服务器,并在`Spring`中启动它。 5. `Logback`配置:学习如何定制日志输出,包括日志级别、格式和目的地。 6. 整合与测试:通过编写单元测试和集成测试,确保...

    CXF2.6.4+Spring3.1.1+Jetty7.5.4

    此外,CXF还集成了Spring框架,使得依赖注入和配置管理更为简便。 Spring Framework 3.1.1 是一个广泛使用的Java企业级应用开发框架,它提供了模块化的架构,包括核心容器、数据访问/集成、Web、AOP(面向切面编程...

    springboot和JFinal的集成

    在压缩包"demo3"中,可能包含了集成Spring Boot和JFinal的示例代码,包括Spring Boot的配置文件、JFinal的Controller和Model类、数据库连接配置等。通过分析和学习这些代码,可以更好地理解和掌握如何在实际项目中...

    spring-boot 各种集成各种demo例子

    3. **内嵌服务器**:Spring Boot 可以内嵌 Tomcat、Jetty 或 Undertow 服务器,这样我们无需额外部署应用到外部服务器上,只需运行主类即可启动应用。 4. **Actuator**:Spring Boot Actuator 提供了一组端点,用于...

    Spring-Boot-Jetty-WebSocket-Example:如何使用Spring Boot配置Jetty WebSocket的基本示例

    在本文中,我们将深入探讨如何使用Spring Boot与Jetty服务器集成来实现WebSocket通信。WebSocket是一种在客户端和服务器之间建立持久连接的协议,允许双向实时数据传输。Spring Boot简化了Java应用的开发,包括...

    Spring4+WebSocket+Socket+STOMP+Jetty构建示例

    Spring提供了Message Broker接口,使得我们可以将消息代理集成到应用程序中。在这个例子中,我们使用内存中的SimpleBroker,它可以处理订阅和发布消息。在WebSocketConfig中配置SimpleBroker,设置订阅前缀和发布...

Global site tag (gtag.js) - Google Analytics