第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否可以使用不同的端口實例化同一個 spring-boot 應(yīng)用程序兩次?

是否可以使用不同的端口實例化同一個 spring-boot 應(yīng)用程序兩次?

慕妹3242003 2023-03-02 16:10:48
我需要使用嵌入式 tomcat 使用不同的端口實例化相同的 spring boot 應(yīng)用程序兩次,以便這兩個實例使用另一個 rest api。目標(biāo)是模擬兩個具有與兩個玩家相同邏輯的獨立程序。我嘗試了以下方法:        SpringApplicationBuilder playerOne = new SpringApplicationBuilder(GameApplication.class)                .properties("server.port:" + "8080", "app.name:" + "Player1", "spring.jmx.enable:false");        SpringApplicationBuilder playerTwo = new SpringApplicationBuilder(GameApplication.class)                .properties("server.port:" + "8081", "app.name:" + "Player2", "spring.jmx.enable:false");        ConfigurableApplicationContext run1 = playerOne.run();        ConfigurableApplicationContext run2 = playerTwo.run();我得到了 javax.management.InstanceAlreadyExistsException怎么可能做到這一點?它不應(yīng)該啟動兩個不同的服務(wù)器嗎?
查看完整描述

4 回答

?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗 獲得超12個贊

運行 jar 并將端口作為輸入?yún)?shù)。

然后您可以使用兩個已知端口啟動兩個應(yīng)用程序。

java -jar myServer.jar --server.port=8080
java -jar myServer.jar --server.port=8081


查看完整回答
反對 回復(fù) 2023-03-02
?
鴻蒙傳說

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊

您將在嘗試做的事情上遇到很多問題。我不認(rèn)為 Spring 被設(shè)計為允許在同一進(jìn)程中使用兩個獨立的 Spring 應(yīng)用程序。

您遇到的第一個可能是這兩個應(yīng)用程序之間的許多沖突。您會收到“javax.management.InstanceAlreadyExistsException”,因為 Spring 具有 JMX 管理 bean 注冊表的全局概念。當(dāng) Spring 應(yīng)用程序啟動時,它會以特定名稱向該服務(wù)注冊一堆東西。當(dāng)您的應(yīng)用程序的第二個副本嘗試向注冊表注冊第一個應(yīng)用程序已使用相同名稱注冊的內(nèi)容時,您會收到此錯誤。

應(yīng)用程序本身以這種方式注冊,名稱為“SpringApplication”。當(dāng)我運行我的 Spring 應(yīng)用程序時,這是第一個注冊的東西。我的猜測是您的“應(yīng)用程序”第二次嘗試使用 JMX 注冊此名稱時失敗了。

如果您真的必須以這種方式分解代碼,為什么不將這兩個應(yīng)用程序放在它們自己的構(gòu)建中并分別運行呢?或者,如果它們是完全相同的應(yīng)用程序,只需運行兩個副本,正如@Toerktumlare 在他的回答中所建議的那樣。


查看完整回答
反對 回復(fù) 2023-03-02
?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗 獲得超4個贊

$ mvn spring-boot:run

$ env SERVER_PORT=8001 mvn spring-boot:run

$ env SERVER_PORT=8002 mvn spring-boot:run


查看完整回答
反對 回復(fù) 2023-03-02
?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗 獲得超5個贊

將 server.port=0 添加到您的 application.properties。它將動態(tài)分配端口。



查看完整回答
反對 回復(fù) 2023-03-02
  • 4 回答
  • 0 關(guān)注
  • 255 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號