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
分享到:
相关推荐
4. **Spring与MyBatis整合**:在Spring配置文件中,使用`mybatis-spring`库提供的`SqlSessionFactoryBean`和`MapperScannerConfigurer`,这样Spring可以管理MyBatis的SqlSession和Mapper接口。 5. **创建业务服务和...
2. 配置Spring:创建Spring配置文件,定义Bean和它们之间的依赖关系。 3. 使用Spring的DispatcherServlet:配置Jetty来处理Spring的请求,通常会有一个`SpringServlet`来处理HTTP请求,并通过Spring MVC框架解析。 4...
构建这样的微服务涉及到配置开发环境,包括安装Java Development Kit (JDK)、设置环境变量、配置Maven的pom.xml文件以声明依赖项,以及为Jetty和Spring MVC设置合适的配置文件。 6. **实践步骤**: - 首先,创建...
- **配置Jetty-Spring模块**:Spring提供了Jetty的Servlet容器模块,可以在Spring配置文件中声明Jetty服务器,并配置Servlet和过滤器。 - **创建Spring应用上下文**:编写Spring的bean定义XML文件,定义服务、DAO、...
1. **创建Spring配置**:首先,你需要创建一个Spring的配置文件,如`servlet-context.xml`,该文件定义了Spring MVC的组件,如DispatcherServlet、视图解析器和映射路径等。 2. **编写Controller**:接着,编写...
在本项目中,Maven 负责集成所有依赖,包括Spring MVC、Mybatis、Jetty和MySQL驱动等。 2. Spring MVC: Spring MVC 是Spring框架的一部分,它是一个基于模型-视图-控制器(Model-View-Controller)设计模式的Web...
- 创建Server对象:在Spring配置文件中定义一个`org.eclipse.jetty.server.Server`bean,设置端口和其他服务器属性。 - 添加Servlet容器:创建`org.eclipse.jetty.servlet.ServletContextHandler`对象,并设置其上...
- **创建Spring配置**:定义Spring的配置文件,包括Bean的定义和SpringMVC的相关配置,如视图解析器。 - **编写Controller**:创建SpringMVC的Controller类,处理HTTP请求。 - **启动Jetty**:在主程序中,通过...
内置 Jetty 服务器是 Spring Boot 的一个重要特性,允许开发者快速启动和运行 web 应用,而无需手动配置服务器。Jetty 是一个轻量级、高性能的开源 HTTP 服务器和 Java Servlet 容器,它被广泛用于各种类型的 web ...
支持web接口的批处理框架 在eclipse中导出为可执行的jar,无需部署到任何web容器中。直接通过bat或shell启动即可。...mybatis3.4.1 druid1.0.17 smg3(决策引擎) jetty8.1.5 fastjson1.2.7 springjdbc3.2.14
2. **Spring配置**:在Spring配置文件中,我们需要声明Wink的相关bean,如`WinkServlet`和`DispatcherServlet`,并设置它们的路径映射。此外,可以使用Spring的`@Component`注解标记Wink资源类,然后通过`...
在WebSocket方面,Spring提供了一个名为`Spring Websocket`的模块,使得开发者可以方便地在Spring应用中集成WebSocket,支持Stomp协议,简化了服务器与客户端的交互。 Netty则是一个高性能、异步事件驱动的网络应用...
如何使用Spring来配置Jetty 如何使用XBean来配置Jetty 客户端 Asynchronous HTTP Client教程 日志 / 监控 如何配置Request Logs 如何配置自定义错误页面(Custom Error Pages) 配置Jetty Statistics(统计) 配置...
在开始集成Spring 3之前,确保你已经安装了以下基础软件: - Java Development Kit (JDK):Spring 3需要Java 6或更高版本。 - 开发环境:Eclipse, IntelliJ IDEA等主流IDE,便于代码编辑和管理。 - 应用服务器:...
4. `Jetty`的集成与使用:理解如何配置`Jetty`作为应用服务器,并在`Spring`中启动它。 5. `Logback`配置:学习如何定制日志输出,包括日志级别、格式和目的地。 6. 整合与测试:通过编写单元测试和集成测试,确保...
此外,CXF还集成了Spring框架,使得依赖注入和配置管理更为简便。 Spring Framework 3.1.1 是一个广泛使用的Java企业级应用开发框架,它提供了模块化的架构,包括核心容器、数据访问/集成、Web、AOP(面向切面编程...
3. **内嵌服务器**:Spring Boot 可以内嵌 Tomcat、Jetty 或 Undertow 服务器,这样我们无需额外部署应用到外部服务器上,只需运行主类即可启动应用。 4. **Actuator**:Spring Boot Actuator 提供了一组端点,用于...
在本文中,我们将深入探讨如何使用Spring Boot与Jetty服务器集成来实现WebSocket通信。WebSocket是一种在客户端和服务器之间建立持久连接的协议,允许双向实时数据传输。Spring Boot简化了Java应用的开发,包括...
Spring提供了Message Broker接口,使得我们可以将消息代理集成到应用程序中。在这个例子中,我们使用内存中的SimpleBroker,它可以处理订阅和发布消息。在WebSocketConfig中配置SimpleBroker,设置订阅前缀和发布...
“基于jetty和Spring”的描述揭示了这个服务器是利用Jetty作为基础服务器框架,同时集成了Spring框架来管理依赖注入、AOP(面向切面编程)以及处理业务逻辑。Spring是一个广泛应用的Java企业级框架,它简化了Java ...