IDEA中啟動(dòng)多個(gè)SpringBoot服務(wù)的實(shí)現(xiàn)示例
一、前言
在IDEA中,"Allow parallel run"是一個(gè)配置選項(xiàng),用于指定是否允許并行運(yùn)行多個(gè)相同的啟動(dòng)配置。
當(dāng)您在IDEA中運(yùn)行一個(gè)啟動(dòng)配置(例如一個(gè)Spring Boot實(shí)例)時(shí),IDEA會(huì)默認(rèn)阻止您同時(shí)運(yùn)行另一個(gè)相同的啟動(dòng)配置。這是為了避免端口沖突等問題。
然而,在某些情況下,您可能需要同時(shí)運(yùn)行多個(gè)相同的啟動(dòng)配置,例如在進(jìn)行集成測(cè)試時(shí),需要同時(shí)啟動(dòng)多個(gè)相同的服務(wù)實(shí)例。這時(shí),您可以打開"Allow parallel run"選項(xiàng),以允許并行運(yùn)行多個(gè)相同的啟動(dòng)配置。
使用"Allow parallel run"選項(xiàng)的優(yōu)點(diǎn)是:
- 同時(shí)運(yùn)行多個(gè)相同的啟動(dòng)配置,可以更好地模擬分布式系統(tǒng)的行為,加速開發(fā)和測(cè)試過程。
- 可以更方便地進(jìn)行集成測(cè)試,同時(shí)測(cè)試多個(gè)服務(wù)之間的交互。
- 提高了開發(fā)效率,避免了頻繁切換和重新啟動(dòng)的麻煩。
"Allow parallel run"選項(xiàng)應(yīng)該在以下情況下使用:
- 當(dāng)您需要同時(shí)運(yùn)行多個(gè)相同的啟動(dòng)配置時(shí),例如在進(jìn)行集成測(cè)試時(shí)。
- 當(dāng)您需要模擬分布式系統(tǒng)的行為時(shí),例如測(cè)試多個(gè)服務(wù)之間的交互。
需要注意的是,啟用"Allow parallel run"選項(xiàng)可能會(huì)導(dǎo)致一些問題,例如端口沖突、資源競(jìng)爭(zhēng)等。因此,在使用該選項(xiàng)時(shí),您應(yīng)該確保配置了正確的端口號(hào)和其他必要的配置,以避免沖突和問題的發(fā)生。
二、IDEA版本

IDEA 版本為2020.1
三、Allow parallel run 模式
"Allow parallel run"模式適用于以下情況:
- 集成測(cè)試:當(dāng)進(jìn)行集成測(cè)試時(shí),可能需要同時(shí)運(yùn)行多個(gè)相同的服務(wù)實(shí)例。這樣可以更好地模擬分布式系統(tǒng)的行為,以測(cè)試多個(gè)服務(wù)之間的交互和協(xié)作。啟用"Allow parallel run"模式可以方便地同時(shí)啟動(dòng)多個(gè)實(shí)例。
- 多節(jié)點(diǎn)調(diào)試:在某些情況下,您可能需要同時(shí)調(diào)試多個(gè)實(shí)例,以便在不同的環(huán)境或配置下進(jìn)行測(cè)試。啟用"Allow parallel run"模式可以讓您同時(shí)調(diào)試多個(gè)實(shí)例,提高調(diào)試效率。
- 并行開發(fā):如果團(tuán)隊(duì)中的多個(gè)開發(fā)人員都在開發(fā)相同的服務(wù),且它們對(duì)外提供的端口不沖突,那么啟用"Allow parallel run"模式可以讓每個(gè)開發(fā)人員在自己的機(jī)器上同時(shí)運(yùn)行和調(diào)試多個(gè)實(shí)例,避免頻繁的代碼合并和沖突。
- 需要注意的是,啟用"Allow parallel run"模式可能會(huì)增加系統(tǒng)的負(fù)擔(dān)和資源消耗。在使用該模式時(shí),建議確保機(jī)器的性能足夠,避免過多的實(shí)例同時(shí)運(yùn)行導(dǎo)致系統(tǒng)崩潰或運(yùn)行緩慢。另外,還要確保每個(gè)實(shí)例使用不同的端口,以避免端口沖突。
四、解決方案
點(diǎn)擊右上角的應(yīng)用,選擇下拉選項(xiàng)Edit Configurations:

勾選 Allow parallel run
通過修改應(yīng)用程序的application文件中的 server.port 屬性,可以為每個(gè)實(shí)例指定不同的端口進(jìn)行啟動(dòng)。
這樣可以同時(shí)啟動(dòng)多個(gè)實(shí)例,并且它們會(huì)在不同的端口上監(jiān)聽請(qǐng)求。
到此這篇關(guān)于IDEA中啟動(dòng)多個(gè)SpringBoot服務(wù)的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)IDEA啟動(dòng)多SpringBoot服務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot中@Scheduled實(shí)現(xiàn)服務(wù)啟動(dòng)時(shí)執(zhí)行一次
- idea啟動(dòng)多個(gè)SpringBoot服務(wù)實(shí)例的最優(yōu)解決方法
- springboot項(xiàng)目同時(shí)啟動(dòng)web服務(wù)和grpc服務(wù)的方法
- centos7如何通過systemctl啟動(dòng)springboot服務(wù)代替java -jar方式啟動(dòng)
- springboot服務(wù)正常啟動(dòng)之后,訪問服務(wù)url無響應(yīng)問題及解決
- springboot項(xiàng)目如何在linux服務(wù)器上啟動(dòng)、停止腳本
- 解決springboot服務(wù)啟動(dòng)報(bào)錯(cuò):Unable?to?start?embedded?contain
- SpringBoot應(yīng)用剛啟動(dòng)時(shí)服務(wù)報(bào)大量超時(shí)的問題及解決
相關(guān)文章
SpringCloud微服務(wù)多應(yīng)用腳手架的搭建與部署方式
這篇文章主要介紹了SpringCloud微服務(wù)多應(yīng)用腳手架的搭建與部署方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
SpringBoot開啟server:compression:enabled(Illegal characte
本文主要介紹了SpringBoot開啟server:compression:enabled(Illegal character ((CTRL-CHAR, code 31)))的的問題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03
簡(jiǎn)單講解Java設(shè)計(jì)模式編程中的單一職責(zé)原則
這篇文章主要介紹了Java設(shè)計(jì)模式編程中的單一職責(zé)原則,這在團(tuán)隊(duì)開發(fā)編寫接口時(shí)經(jīng)常使用這樣的約定,需要的朋友可以參考下2016-02-02
mybatis 攔截器添加參數(shù)的實(shí)現(xiàn)
本文主要介紹了MyBatis攔截器中添加參數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
Maven項(xiàng)目如何在pom文件中引入lib下的第三方j(luò)ar包并打包進(jìn)去
在使用Maven進(jìn)行項(xiàng)目開發(fā)時(shí),引入第三方私有的Jar包可能會(huì)遇到問題,一種常見的解決方案是將Jar包添加到項(xiàng)目的lib目錄,并通過IDE進(jìn)行配置,但這需要每個(gè)開發(fā)者單獨(dú)操作,效率低下,更好的方法是通過Maven的pom.xml文件管理這些Jar包2024-09-09
SpringBoot整合Canal+RabbitMQ監(jiān)聽數(shù)據(jù)變更詳解
在現(xiàn)代分布式系統(tǒng)中,實(shí)時(shí)獲取數(shù)據(jù)庫的變更信息是一個(gè)常見的需求,本文將介紹SpringBoot如何通過整合Canal和RabbitMQ監(jiān)聽數(shù)據(jù)變更,需要的可以參考下2024-12-12
J2EE Servlet基礎(chǔ)在瀏覽器上運(yùn)行HelloServlet的方法
這篇文章主要介紹了J2EE Servlet基礎(chǔ)在瀏覽器上運(yùn)行HelloServlet的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
SpringBoot中操作Bean的生命周期的方法總結(jié)
在SpringBoot應(yīng)用中,管理和操作Bean的生命周期是一項(xiàng)關(guān)鍵的任務(wù),這不僅涉及到如何創(chuàng)建和銷毀Bean,還包括如何在應(yīng)用的生命周期中對(duì)Bean進(jìn)行精細(xì)控制,本文給大家總結(jié)了SpringBoot中操作Bean的生命周期的方法,需要的朋友可以參考下2023-12-12

