久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Jetty,、Undertow容器及war包部署到外置Tomcat容器

 碼農(nóng)9527 2021-08-23

上一節(jié)中我們了解到在SpringBoot項目中webServer默認(rèn)支持的嵌入式容器是Tomcat,,還可以切換到Jetty、Undertow,。本節(jié)我們就將Tomcat切換到j(luò)etty,、undertow容器。  

由于SpringBoot將Tomcat作為默認(rèn)的應(yīng)用容器,,因此在使用Jetty和Undertow容器之前要先把Tomcat的jar包排除掉,。  

<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>12345678910復(fù)制代碼類型:[java]

使用Jetty容器:  

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-jetty</artifactId>
</dependency>1234復(fù)制代碼類型:[java]

使用Undertow容器:  

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>1234復(fù)制代碼類型:[java]

關(guān)于pom.xml文件配置,我們需要知道以上三者的優(yōu)先級順序是:  

Tomcat>Jetty>Undertow  

使用Jetty,、Undertow時,,必須將Tomcat容器移除掉  

使用Undertow時,,需要將Jetty的依賴移除掉,因為Jetty的優(yōu)先級高于Undertow  

使用Jetty時,,Undertow的依賴可以不移除  

配置參數(shù)  

在官方文檔編號11中可以找到關(guān)于Jetty,、Undertow的配置參數(shù):  

https://docs./spring-boot/docs/current/reference/html/application-properties.html#application-properties.server  

常用配置參數(shù)  

Jetty  

server.jetty.threads.acceptors要使用的接受器線程數(shù),默認(rèn)值為-1
server.jetty.threads.selectors要使用的選擇器線程數(shù),,默認(rèn)值為-1
server.jetty.threads.min工作線程池最小線程數(shù)量,,默認(rèn)值為8
server.jetty.threads.max工作線程池最大線程數(shù)量,默認(rèn)值為200

Undertow  

server.undertow.threads.io創(chuàng)建的 I/O 線程數(shù),。默認(rèn)值來自可用處理器的數(shù)量
server.undertow.threads.worker工作任務(wù)線程數(shù),。默認(rèn)值是 I/O 線程數(shù)的 8 倍
server.undertow.url-charset用于url解碼的字符集,默認(rèn)值為UTF-8

在application.yml文件中的寫法  

Jetty  

server:
  port: 8888
  jetty:
 # 要使用的接受器線程數(shù),,默認(rèn)值為-1
 acceptors: -1
 # 要使用的選擇器線程數(shù),,默認(rèn)值為-1
 selectors: -1
 # 工作線程池最小線程數(shù)量,默認(rèn)值為8
 min-threads: 8
 # 工作線程池最大線程數(shù)量,,默認(rèn)值為200
 max-threads: 2001234567891011復(fù)制代碼類型:[java]

Undertow  

server:
  port: 8888
  undertow:
 # 創(chuàng)建的 I/O 線程數(shù),。默認(rèn)值來自可用處理器的數(shù)量
 io-threads: 5
 # 工作任務(wù)線程數(shù)。默認(rèn)值是 I/O 線程數(shù)的 8 倍
 worker-threads: 40
 # 用于url解碼的字符集,,默認(rèn)值為UTF-8
 url-charset: UTF-8123456789復(fù)制代碼類型:[java]

Undertow的性能和內(nèi)存使用方面都優(yōu)于Tomcat,,在高并發(fā)系統(tǒng)中,Tomcat相對來說比較弱,。  

在相同的機器配置下,,模擬相等的請求數(shù),Undertow在性能和內(nèi)存使用方面都是最優(yōu)的,。  

在之前我們所有的應(yīng)用代碼都是用jar包的方式去運行的,,下面我們來學(xué)習(xí)如何打war包。  

為了方便演示,,重新創(chuàng)建一個SpringBoot項目,。重新創(chuàng)建的過程與之前想同,,需要注意的是打包方式這次直接選擇war包:  

新的項目創(chuàng)建好后,,在com.example.demo文件夾下創(chuàng)建controller文件夾并在其中創(chuàng)建TemplateController.java  

package com.example.demo.controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class TemplateController { @GetMapping("/template")
 public String test(String name) {  return "Hello " + name;
 }
}123456789101112復(fù)制代碼類型:[java]

之后在pom.xml中的build代碼段添加應(yīng)用最終構(gòu)建打包的名稱:  

<finalName>family</finalName>1復(fù)制代碼類型:[java]

在idea下方的Terminal中編寫命令:  

mvn clean package1復(fù)制代碼類型:[java]

打包結(jié)果將存儲在項目的target目錄下面,將war包移動到Tomcat的webapps目錄中,。  

在tomcat的bin目錄下執(zhí)行startup.sh(linux)/startup.bat(windows),。  

由于Tomcat在占用的是8080端口,所以在瀏覽器進(jìn)行測試時輸入的鏈接應(yīng)為:http://localhost:8080/family/template?name=world  

得到返回結(jié)果,。  

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多