[英]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.