亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談springboot內(nèi)置tomcat和外部獨(dú)立部署tomcat的區(qū)別

 更新時(shí)間:2020年10月10日 09:34:22   作者:曲奇hmb  
這篇文章主要介紹了淺談springboot內(nèi)置tomcat和外部獨(dú)立部署tomcat的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

前兩天,我去面了個(gè)試,面試官問(wèn)了我個(gè)問(wèn)題,獨(dú)立部署的tomcat跟springboot內(nèi)置的tomcat有什么區(qū)別,為什么存在要禁掉springboot的tomcat然后將項(xiàng)目部署到獨(dú)立的tomcat當(dāng)中?

我就想,不都一個(gè)樣?獨(dú)立部署的tomcat可以配置優(yōu)化?禁AJP,開多線程,開nio?而且springboot內(nèi)置的tomcat多方便,部署上服務(wù)器寫個(gè)java腳本運(yùn)行即可?,F(xiàn)在考慮下有什么條件能優(yōu)于內(nèi)置tomcat的。

1.tomcat的優(yōu)化配置多線程??jī)?nèi)置的也可以配置多線程

server:
tomcat:
uri-encoding: UTF-8
max-threads: 1000
max-connections: 20000

2.tomcat禁用AJP?我啟動(dòng)了個(gè)springboot項(xiàng)目,發(fā)現(xiàn)并沒(méi)有開啟AJP,同時(shí)用的是nio模式

3.tomcat修改運(yùn)行模式nio2?或者apr?我發(fā)現(xiàn)在網(wǎng)上查資料,可以找到springboot配置運(yùn)行模式的方法,但是可以說(shuō)的一個(gè)點(diǎn)是tomcat修改配置會(huì)比springboot方便一些,畢竟springboot要寫類,寫配置再打包,再啟動(dòng)。

4.jvm調(diào)優(yōu)?其實(shí)兩個(gè)都差不多,tomcat通關(guān)配置catalina.sh,springboot通過(guò)運(yùn)行腳本寫上就行了

tomcat:CATALINA_OPTS="$CATALINA_OPTS -server -Xms128m -Xmx1024m -XX:+UseG1GC"

springboot:java -jar -Xms128m -Xmx1024m -XX:+UseG1GC java-1.0.0.jar

5.考慮jar包和war包占用內(nèi)存問(wèn)題?好像沒(méi)誰(shuí)說(shuō)誰(shuí)誰(shuí)占用內(nèi)存高

6.獨(dú)立部署tomcat可以部署多個(gè)項(xiàng)目然后映射在同一個(gè)ip,例如我們把后臺(tái)系統(tǒng)和app系統(tǒng)分成了2個(gè)包部署?我們有nginx可以實(shí)現(xiàn)。但是這個(gè)時(shí)候要考慮是多個(gè)項(xiàng)目部署在一個(gè)tomcat好還是一個(gè)包一個(gè)tomcat,其實(shí)這個(gè)得看業(yè)務(wù)或者說(shuō)個(gè)人選擇吧,多個(gè)項(xiàng)目部署在同一個(gè)tomcat啟動(dòng)方便,不占用端口。一個(gè)tomcat部署一個(gè)包具有獨(dú)立性,互不影響,不會(huì)要掛一起掛。

7.部署更方便?tomcat上我們丟war包上去后,他會(huì)自動(dòng)地去解包啟動(dòng),可以不需要重啟tomcat或者可以只替換某個(gè)文件部署,springboot的話需要重新打包再重啟。

個(gè)人總結(jié):

一般清空下,到底是使用內(nèi)置tomcat還是外置的,并沒(méi)有一個(gè)肯定的回答,都得看公司或者個(gè)人的需求,看好哪口,熟悉那種,根據(jù)需求來(lái),并沒(méi)有誰(shuí)的性能更好點(diǎn),而是誰(shuí)更符合我,另外如果有人覺(jué)得我說(shuō)的有什么問(wèn)題,或者補(bǔ)充的可以評(píng)論給我建議,謝謝。

補(bǔ)充知識(shí):SpringBoot項(xiàng)目部署到外部Tomcat,入口類不加載的問(wèn)題解決過(guò)程

某一天,突然發(fā)現(xiàn)正在開發(fā)的Web項(xiàng)目無(wú)法訪問(wèn)了??磍og,發(fā)現(xiàn)入口類不加載了。而Tomcat是正常啟動(dòng)的。

有這么一段提示:

org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.……

隨之網(wǎng)上找了各種辦法,逐一嘗試均告失敗……

折騰了一整天,整個(gè)人快要崩潰了。

隨即通過(guò)git查看近期所有代碼修改的差異,終于發(fā)現(xiàn)是前一天腦袋一熱,pom中多加了這么一段依賴:

<dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-web</artifactId>
  <scope>runtime</scope>
</dependency>

刪除之,再次啟動(dòng)tomcat,淚奔啊。終于OK了!

以上這篇淺談springboot內(nèi)置tomcat和外部獨(dú)立部署tomcat的區(qū)別就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java項(xiàng)目中如何引入Hutool工具類并正確使用它

    Java項(xiàng)目中如何引入Hutool工具類并正確使用它

    Hutool是一個(gè)小而全的Java工具類庫(kù),通過(guò)靜態(tài)方法封裝,降低相關(guān)API的學(xué)習(xí)成本,提高工作效率,使Java擁有函數(shù)式語(yǔ)言般的優(yōu)雅,這篇文章主要給大家介紹了關(guān)于Java項(xiàng)目中如何引入Hutool工具類并正確使用它的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Springboot?整合maven插口調(diào)用maven?release?plugin實(shí)現(xiàn)一鍵打包功能

    Springboot?整合maven插口調(diào)用maven?release?plugin實(shí)現(xiàn)一鍵打包功能

    這篇文章主要介紹了Springboot?整合maven插口調(diào)用maven?release?plugin實(shí)現(xiàn)一鍵打包功能,整合maven-invoker使程序去執(zhí)行mvn命令,結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • java實(shí)現(xiàn)短信通信的完整教程

    java實(shí)現(xiàn)短信通信的完整教程

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)短信通信的完整教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Springboot整合微信支付(訂單過(guò)期取消及商戶主動(dòng)查單)

    Springboot整合微信支付(訂單過(guò)期取消及商戶主動(dòng)查單)

    本文主要介紹了Springboot整合微信支付(訂單過(guò)期取消及商戶主動(dòng)查單),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Spring?Boot?3.2.5集成mysql的詳細(xì)步驟記錄

    Spring?Boot?3.2.5集成mysql的詳細(xì)步驟記錄

    作為一名Java開發(fā)者,我們經(jīng)常需要在我們的應(yīng)用程序中使用數(shù)據(jù)庫(kù),在Spring Boot中集成數(shù)據(jù)庫(kù)是非常容易的,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot?3.2.5集成mysql的詳細(xì)步驟,需要的朋友可以參考下
    2024-04-04
  • JsonObject的屬性與值的判空(Null值)處理方式

    JsonObject的屬性與值的判空(Null值)處理方式

    這篇文章主要介紹了JsonObject的屬性與值的判空(Null值)處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • java中的PriorityQueue類過(guò)程詳解

    java中的PriorityQueue類過(guò)程詳解

    這篇文章主要介紹了java中的PriorityQueue類,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Mac下設(shè)置Java默認(rèn)版本的方法

    Mac下設(shè)置Java默認(rèn)版本的方法

    今天工作的時(shí)候發(fā)現(xiàn)了一個(gè)錯(cuò)誤,提示java版本太低,無(wú)法啟動(dòng)!想起自己裝過(guò)高版本的Java,但是卻沒(méi)有默認(rèn)啟動(dòng),從網(wǎng)上找了一些資料,整理下現(xiàn)在分享給大家,有需要的可以參考借鑒。
    2016-10-10
  • Spring中的事件監(jiān)聽器使用學(xué)習(xí)記錄

    Spring中的事件監(jiān)聽器使用學(xué)習(xí)記錄

    Spring框架中的事件監(jiān)聽機(jī)制是一種設(shè)計(jì)模式,它允許你定義和觸發(fā)事件,同時(shí)允許其他組件監(jiān)聽這些事件并在事件發(fā)生時(shí)作出響應(yīng),這篇文章主要介紹了Spring中的事件監(jiān)聽器使用學(xué)習(xí),需要的朋友可以參考下
    2024-07-07
  • 一起學(xué)JAVA基礎(chǔ)之運(yùn)算符

    一起學(xué)JAVA基礎(chǔ)之運(yùn)算符

    計(jì)算機(jī)的最基本用途之一就是執(zhí)行數(shù)學(xué)運(yùn)算,作為一門計(jì)算機(jī)語(yǔ)言,Java也提供了一套豐富的運(yùn)算符來(lái)操縱變量,下面這篇文章主要給大家介紹了關(guān)于JAVA基礎(chǔ)之運(yùn)算符的相關(guān)資料,需要的朋友可以參考下
    2022-01-01

最新評(píng)論