簡體   English   中英

Spring Boot 單個應用程序,在 2 個不同的主機上有 2 個控制器

[英]Spring boot single application with 2 controllers on 2 different hosts

我有:

public firstController() {
...
}

public secondController() {
...
}

我想在不同的主機上啟動每個控制器。 是否可以僅通過使用 Spring Boot 的單個應用程序來處理它?

如果您打算在兩個不同的主機上運行兩個不同的控制器,則需要兩個單獨的 JAR。

無法拆分單個部署以在不同的服務器上運行。

您可以指定不同的配置文件,但它們適用於整個部署。 你不能把它分開。

每個主機使用 Spring 配置文件。 然后使用 env 變量作為要加載的配置屬性的輸入。 請參閱https://docs.spring.io/spring-boot/docs/1.5.6.RELEASE/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties

例如app1有一個指定host1

您的應用程序加載application-host1.properties (或等效的)

app2具有指定host2的環境變量,以便您可以將其替換為application.properties的屬性變量。

在本地運行時,您可以指定HOST_ID並加載您想要測試的相關配置。

@ConfigurationProperties("application-${HOST_ID}.properties")

在你的@Configuration類中

Spring 還允許您使用@DependsOn將各種類加載到 spring 配置上下文中,以便您可以將其組合在一起,以便僅加載各種控制器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM