国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot 配置 Undertow 容器

這篇具有很好參考價值的文章主要介紹了Spring Boot 配置 Undertow 容器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

Spring Boot 配置 Undertow 容器

配置之前,您需要知道的是,Tomcat, Jetty, Undertow 作為三大主流 Servelt 容器,Undertow 的性能要優(yōu)于前兩者。

所以,我們推薦您使用 Undertow 容器。接下來,就我們看看如何在 Spring Boot 中快捷地集成 Undertow。

一、添加 Maven 依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 移除掉默認(rèn)支持的 Tomcat -->
    <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>

二、啟動項(xiàng)目

添加完上面的 maven 依賴后,Undertow 容器就已經(jīng)集成完畢了,接下來,讓我們啟動項(xiàng)目,看看控制臺輸出:

Connected to the target VM, address: '127.0.0.1:50915', transport: 'socket'

  .   ____          _            __ _ _
 /\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )___ | '_ | '_| | '_ / _` | \ \ \ \
 \/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |___, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.2.RELEASE)

2023-10-10 20:29:28.876  INFO 21908 --- [           main] s.e.s.SpringBootUndertowApplication      : Starting SpringBootUndertowApplication on DESKTOP-RL6P6LA with PID 21908 (C:\dev\idea_workspace_personal\spring-boot-tutorial\spring-boot-undertow\target\classes started by allen in C:\dev\idea_workspace_personal\spring-boot-tutorial)
2023-10-10 20:29:28.885  INFO 21908 --- [           main] s.e.s.SpringBootUndertowApplication      : No active profile set, falling back to default profiles: default
2023-10-10 20:29:34.388  WARN 21908 --- [           main] io.undertow.websockets.jsr               : UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used
2023-10-10 20:29:34.478  INFO 21908 --- [           main] io.undertow.servlet                      : Initializing Spring embedded WebApplicationContext
2023-10-10 20:29:34.478  INFO 21908 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 5449 ms
2023-10-10 20:29:35.471  INFO 21908 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2023-10-10 20:29:36.423  INFO 21908 --- [           main] org.xnio                                 : XNIO version 3.3.8.Final
2023-10-10 20:29:36.447  INFO 21908 --- [           main] org.xnio.nio                             : XNIO NIO Implementation Version 3.3.8.Final
2023-10-10 20:29:36.614  INFO 21908 --- [           main] o.s.b.w.e.u.UndertowServletWebServer     : Undertow started on port(s) 8080 (http) with context path ''
2023-10-10 20:29:36.621  INFO 21908 --- [           main] s.e.s.SpringBootUndertowApplication      : Started SpringBootUndertowApplication in 8.912 seconds (JVM running for 10.232)
2023-10-10 20:29:48.534  INFO 21908 --- [  XNIO-1 task-1] io.undertow.servlet                      : Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-10-10 20:29:48.534  INFO 21908 --- [  XNIO-1 task-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2023-10-10 20:29:48.547  INFO 21908 --- [  XNIO-1 task-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 12 ms

啟動成功,當(dāng)您看到?Undertow started on port(s) 8080 (http) with context path ''?的行輸出時,說明此時正在使用的是 Undertow 容器,而非 Tomcat !
Spring Boot 配置 Undertow 容器

三、Undertow 相關(guān)配置

您可以針對 Undertow 容器做一些特定配置,如日志輸出路徑,設(shè)置工作者線程的個數(shù)等參數(shù)優(yōu)化等,如下所示:

# 是否打開 undertow 日志,默認(rèn)為 false
server.undertow.accesslog.enabled=false
# 設(shè)置訪問日志所在目錄
server.undertow.accesslog.dir=logs
# 指定工作者線程的 I/0 線程數(shù),默認(rèn)為 2 或者 CPU 的個數(shù)
server.undertow.io-threads=
# 指定工作者線程個數(shù),默認(rèn)為 I/O 線程個數(shù)的 8 倍
server.undertow.worker-threads=
# 設(shè)置 HTTP POST 內(nèi)容的最大長度,默認(rèn)不做限制
server.undertow.max-http-post-size=0

四、Tomcat Vs Undertow 容器性能對比

在文章的開始,我們提到過 Undertow 的性能要優(yōu)于 Tomcat, 但是口說無憑,需要拿出實(shí)際的證據(jù),新建一個 Web 項(xiàng)目,通過 JDK 自帶的工具對比一下各項(xiàng)指標(biāo)情況:

先看看 Tomcat:
Spring Boot 配置 Undertow 容器

可以看到,Tomcat 大約使用了 110M 的堆內(nèi)存以及大約 16 個線程數(shù)!

再來看看輕量級 Servlet 容器 Undertow 的指標(biāo):
Spring Boot 配置 Undertow 容器

Undertow 的內(nèi)存使用情況大約為 90M, 線程數(shù)大約 13 個線程的樣子。這還是在應(yīng)用不復(fù)雜的情況下,大型應(yīng)用出入會更大。

五、環(huán)境說明

上述 Demo 是基于?Spring Boot 2.1.2.RELEASE,需要注意一下 !文章來源地址http://www.zghlxwxcb.cn/news/detail-711561.html

到了這里,關(guān)于Spring Boot 配置 Undertow 容器的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 8核16G的CentOS服務(wù)器,Spring boot undertow如何優(yōu)化參數(shù)提高并發(fā),電商項(xiàng)目

    對于運(yùn)行在8核16GB內(nèi)存的CentOS服務(wù)器上的Spring Boot電商項(xiàng)目,使用Undertow作為嵌入式服務(wù)器時,可以通過以下參數(shù)優(yōu)化來提高并發(fā)性能: 1. 線程池配置 io-threads :IO線程數(shù),負(fù)責(zé)處理非阻塞的網(wǎng)絡(luò)IO。通常設(shè)置為與CPU核心數(shù)相等的值,即8。 worker-threads :工作線程數(shù),處理阻塞操

    2024年04月25日
    瀏覽(25)
  • Spring Boot 在啟動之前還做了哪些準(zhǔn)備工作?

    目錄 一:初始化資源加載器 二:校驗(yàn)主要源 三:設(shè)置主要源 四:推斷 Web 應(yīng)用類型

    2024年02月05日
    瀏覽(25)
  • Spring Boot 如何讓你的 bean 在其他 bean 之前完成加載 ?

    Spring Boot 如何讓你的 bean 在其他 bean 之前完成加載 ?

    今天有個小伙伴給我出了一個難題:在 SpringBoot 中如何讓自己的某個指定的 Bean 在其他 Bean 前完成被 Spring 加載?我聽到這個問題的第一反應(yīng)是,為什么會有這樣奇怪的需求? Talk is cheap,show me the code,這里列出了那個想做最先加載的“天選 Bean” 的代碼,我們來分析一下:

    2024年02月03日
    瀏覽(18)
  • Spring Boot |如何讓你的 bean 在其他 bean 之前完成加載

    Spring Boot |如何讓你的 bean 在其他 bean 之前完成加載

    問題 今天有個小伙伴給我出了一個難題:在 SpringBoot 中如何讓自己的某個指定的 Bean 在其他 Bean 前完成被 Spring 加載?我聽到這個問題的第一反應(yīng)是,為什么會有這樣奇怪的需求? Talk is cheap,show me the code,這里列出了那個想做最先加載的“天選 Bean” 的代碼,我們來分析一

    2024年02月05日
    瀏覽(19)
  • 【Spring Boot學(xué)習(xí)】日志文件,Spring Boot也會寫日記了,這些事你知道嘛 ? ? ?

    【Spring Boot學(xué)習(xí)】日志文件,Spring Boot也會寫日記了,這些事你知道嘛 ? ? ?

    前言: 大家好,我是 良辰丫 ,在上一篇文章中我們已經(jīng)學(xué)習(xí)了Spring Boot的配置,接下來我們要學(xué)習(xí)一些日志相關(guān)的東西,什么是日志呢?我們慢慢往下看.?????? ??個人主頁:良辰針不戳 ??所屬專欄:javaEE進(jìn)階篇之框架學(xué)習(xí) ??勵志語句:生活也許會讓我們遍體鱗傷,但最終這些

    2024年02月08日
    瀏覽(36)
  • SpringBoot 之 Tomcat 與 Undertow 容器性能對比

    SpringBoot 之 Tomcat 與 Undertow 容器性能對比

    環(huán)境說明:Windows10 + Idea2021.3.2 + Jdk1.8 + SpringBoot 2.3.1.RELEASE ????????在上一篇《SpringBoot 之配置 Undertow 容器》一文中寫道:“Undertow 的性能和內(nèi)存使用方面都要優(yōu)于 Tomcat 容器”, 這一期,我就要給大家來求證一波,口說無憑,那我就拿當(dāng)前的 Web 項(xiàng)目來做為測試項(xiàng)目,監(jiān)控

    2024年02月06日
    瀏覽(15)
  • 擴(kuò)展點(diǎn)都不知道不要說你用了Spring Boot

    擴(kuò)展點(diǎn)都不知道不要說你用了Spring Boot

    哈哈,本次有點(diǎn)標(biāo)題黨的嫌疑了,話又說回來,如果只停留在Spring Boot的基本的CRUD層面,未免也太過局限了,當(dāng)需要去擴(kuò)展一些功能,寫一些組件的時候,就感覺無從下手了,所以本次,我們從一個標(biāo)題黨開始,了解一下Spring Boot 的擴(kuò)展點(diǎn),可以系統(tǒng)的了解記憶一下, 此文不

    2024年02月15日
    瀏覽(19)
  • 【SpringBoot】88、SpringBoot中使用Undertow替代Tomcat容器

    SpringBoot 中我們既可以使用 Tomcat 作為 Http 服務(wù),也可以用 Undertow 來代替。Undertow 在高并發(fā)業(yè)務(wù)場景中,性能優(yōu)于 Tomcat。所以,如果我們的系統(tǒng)是高并發(fā)請求,不妨使用一下 Undertow,你會發(fā)現(xiàn)你的系統(tǒng)性能會得到很大的提升。 1、Tomcat 介紹 Tomcat是一個開源的Java Servlet容器,它

    2024年02月13日
    瀏覽(16)
  • SpringBoot系列(四十四):Tomcat與Undertow容器性能對比分析|超級詳細(xì),建議收藏

    SpringBoot系列(四十四):Tomcat與Undertow容器性能對比分析|超級詳細(xì),建議收藏

    ????????Tomcat和Undertow都是非常流行的Java Web容器,它們都有自己的優(yōu)缺點(diǎn)。但在實(shí)際項(xiàng)目中,我們?nèi)绾芜x擇最合適的容器呢?是選擇老牌的Tomcat,還是選擇后起之秀的Undertow?本篇文章將深入分析Tomcat和Undertow的性能表現(xiàn),為大家揭秘最佳選擇!無論你是Java開發(fā)者還是想深

    2023年04月21日
    瀏覽(45)
  • Spring Boot 如何使用 Web 容器

    Spring Boot 如何使用 Web 容器

    在使用 Spring Boot 進(jìn)行開發(fā)時,我們通常需要使用 Web 容器來處理 HTTP 請求和響應(yīng)。本文將介紹 Spring Boot 如何使用 Web 容器,包括如何配置 Web 容器、如何處理 HTTP 請求和響應(yīng)等內(nèi)容,并提供相應(yīng)的代碼示例。 Spring Boot 中默認(rèn)使用 Tomcat 作為 Web 容器,但是也支持其他的 Web 容器

    2024年02月11日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包