2017-06-09 71 views
0

有沒有簡單的方法給SpringBoot駱駝上下文的名稱?Springboot駱駝上下文名稱

在CDI環境,我可以說出一個CamelContext:

@ApplicationScoped 
@ContextName("awesomename") 
public class AwesomeRouteBuilder extends RouteBuilder { 

在SpringBoot看來我有兩個選擇:

要麼我需要或者與NameStrategy陷入混亂。

或者我需要使用@Configuration方法,而不是擴展SpringRouteBuilder並讓Spring自己創建駱駝上下文。

我相信給駱駝上下文中的名稱是通過xml配置很容易

有什麼人賦予一CamelContext在Springboot環境中的名字嗎?

回答

0

您可以通過camel.springboot.name配置春季啓動application.propertiesapplication.yaml配置文件中的名稱,請參閱https://github.com/apache/camel/blob/master/examples/camel-example-spring-boot/src/main/resources/application.properties#L19

+0

三江源克勞斯。我現在意識到我的問題實際上是試圖給1可部署內的多個駱駝上下文賦予一個唯一的名稱。我有1個application.yml服務多個SpringBoot部署。對於其中一個可部署項目,我希望有3個駱駝上下文,並給出這些有意義的名稱,以便我可以在Hawtio中區分這些名稱。看來SpringBoot Camel集成提供了1個Camel上下文。我想要很多的背景知識並且能夠給出這些名字。 Cdi集成爲此提供了單個註釋。 –

+0

這是一個糟糕的設計,在一個應用程序中有許多CamelContext。 Spring Boot不像一個託管X應用程序的普通應用程序服務器,僅用於1個應用程序。 –

+0

我不同意在一個應用程序中的多個CamelContexts(無論是SpringBoot還是CDI war/swarm)是不好的設計。我的單個CDI應用程序使用多個CamelContext來輪詢不同位置的不同源文件,以將其轉換爲通用格式。我希望(並得到駱駝-CDI)與Hawtio有關處理源位置的路線的邏輯分組的偉大的可視化。處理與另一個應用程序分開的位置是矯枉過正。用1 CamelContext做這件事,除了可能的命名約定之外,在可視化中幾乎沒有任何區別。 –