spring boot内嵌容器默认为tomcat,想要换成undertow,非常容易,只需修改spring-boot-starter-web依赖,移除tomcat的依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency>
然后,添加undertow依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-undertow</artifactId> </dependency>
这样即可,使用默认参数启动undertow服务器。如果需要修改undertow参数,继续往下看。
undertow的参数设置:
server: port: 8084 http2: enabled: true undertow: io-threads: 16 worker-threads: 256 buffer-size: 1024 buffers-per-region: 1024 direct-buffers: true
io-threads:IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接,默认设置每个CPU核心一个线程,不可设置过大,否则启动项目会报错:打开文件数过多。
worker-threads:阻塞任务线程池,当执行类似servlet请求阻塞IO操作,undertow会从这个线程池中取得线程。它的值取决于系统线程执行任务的阻塞系数,默认值是 io-threads*8
以下配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理。
buffer-size:每块buffer的空间大小,越小的空间被利用越充分,不要设置太大,以免影响其他应用,合适即可
buffers-per-region:每个区分配的buffer数量,所以pool的大小是buffer-size * buffers-per-region
direct-buffers:是否分配的直接内存(NIO直接分配的堆外内存)
相关推荐
TomcatEmbeddedServletContainerFactory是Spring Boot中用于创建Tomcat内嵌容器的工厂类。在该类中,getEmbeddedServletContainer方法用于创建一个Tomcat实例,并将其作为内嵌容器返回。 四、getSelfInitializer...
- **整合SpringMVC**:使用`spring-boot-starter-web`作为起步依赖,自动配置了SpringMVC和嵌入式的Tomcat。 - **整合连接池**:通过添加如`HikariCP`的依赖,Spring Boot可以自动配置数据源和连接池。 - **整合...
3. 内嵌式Servlet容器:Spring Boot支持内嵌Tomcat、Jetty或Undertow,无需额外部署WAR文件。 4. 健康检查:提供健康检查API,用于监控系统状态。 5. 配置文件:通过application.properties或application.yml进行...
Spring Boot 可以直接内嵌Tomcat、Jetty或Undertow等Servlet容器,无需额外部署到外部服务器。只需运行主类中的`main`方法,即可启动包含HTTP服务的应用。 ### 5. 配置文件 Spring Boot 支持`application....
Spring Boot支持多种内嵌Web服务器,如Tomcat、Jetty和Undertow。内嵌服务器使得应用可以直接运行为可执行的JAR或WAR,无需额外的部署步骤。使用`spring-boot-starter-web`起步依赖,Spring Boot会默认使用Tomcat...
Spring Boot还支持内嵌的Servlet容器,比如Tomcat、Jetty或Undertow,这意味着开发者可以不用部署到传统的WAR文件中,而是直接运行一个JAR文件,并且应用程序会启动内嵌的Servlet容器。这简化了部署过程,使得开发...
- **内嵌服务器**:Spring Boot 支持内嵌 Tomcat、Jetty 或 Undertow 服务器,无需额外部署,简化了开发流程。 - **运行器**:提供了命令行接口(CLI),方便快速创建和运行 Spring 应用。 - **健康检查**:内置健康...
2. **内嵌Web服务器**:Spring Boot支持内嵌Tomcat、Jetty或Undertow等Web服务器,这意味着你可以无需额外配置即可直接运行你的应用。 3. **自动配置(Auto Configuration)**:Spring Boot会根据你的类路径中的类...
2. **内嵌式容器**:Spring Boot支持内嵌的Tomcat、Jetty或Undertow服务器,这样你无需单独打包或管理这些服务器,只需运行应用程序即可。 3. **自动配置(Auto Configuration)**:Spring Boot通过扫描类路径中的...
2. 内嵌式容器:Spring Boot支持内嵌Tomcat、Jetty或Undertow等Servlet容器,使得应用可以无需打包成WAR文件,直接运行JAR文件。 3. Starter POMs:Spring Boot提供了很多Starter依赖,如web、data、security等,只...
Spring Boot支持内嵌Tomcat、Jetty或Undertow等Web服务器,开发者无需单独打包部署,大大简化了应用的发布流程。 4. **Actuator(监控与健康检查)** Actuator提供了一系列的端点(endpoints)用于监控和管理应用...
Spring Boot支持内嵌Tomcat、Jetty或Undertow web服务器,无需额外进行打包和部署,使得应用可以直接以jar形式运行。 ### 四、健康检查与Actuator Actuator是Spring Boot提供的一个模块,用于提供应用的健康检查、...
Spring Boot允许内嵌Tomcat、Jetty或Undertow等Web服务器,这使得我们无需额外部署WAR文件,可以直接运行JAR包作为应用服务器。 **3. 自动配置** Spring Boot的核心特性是自动配置。它会根据项目中的类路径和属性...
2. **内嵌服务器(Embedded Servers)**:Spring Boot支持内嵌Tomcat、Jetty或Undertow服务器,这样可以直接运行打包后的jar文件,而无需额外部署到外部容器,大大提高了开发效率。 3. **自动配置(Auto ...
3. **内嵌Web服务器**:Spring Boot支持内嵌的Tomcat、Jetty或Undertow等Web服务器,允许开发者无需部署WAR文件,直接运行JAR文件启动服务。 4. **YAML/Properties配置**:Spring Boot支持YAML或Properties格式的...
2. **嵌入式Web服务器**:Spring Boot可以轻松地与内嵌的Tomcat、Jetty或Undertow等Web服务器一起使用,无需额外部署到外部服务器。 3. **自动配置**:Spring Boot会根据项目中引入的依赖自动配置相关的Bean。例如...
2. 内嵌式容器:Spring Boot支持内嵌Tomcat、Jetty或Undertow服务器,允许开发者无需额外部署即可运行应用。 3. 健康检查:提供了健康检查接口,用于监控应用的运行状态,包括数据库连接、缓存等关键组件的健康状况...
2. **内嵌式Web服务器**:Spring Boot支持内嵌Tomcat、Jetty或Undertow等Web服务器,这使得你可以直接运行一个jar文件启动应用,无需额外部署到外部服务器。 3. **起步依赖(Starter POMs)**:Spring Boot提供了多...
3. **内嵌Web服务器**:Spring Boot支持内嵌Tomcat、Jetty或Undertow等Web服务器,无需额外部署,大大简化了开发和测试流程。 4. **Actuator**:Spring Boot Actuator提供了丰富的监控和管理端点,可以查看应用的...