2016-04-25 101 views
2

我是JBoss Fuse和Karaf,Camel,Fabic8,CXF的堆棧的新手。JBOSS中基於Spring Boot的RESTful服務保險絲

我想部署一個簡單的寧靜服務JBoss Fuse(6.2.1)。

我想理想地使用Spring Boot,因爲它使開發/測試更容易獨立的開發盒(可以提升servlet容器等)。 我還想盡可能地減少(或消除)超出Maven POM的任何XML配置。 所以Spring Java配置,而不是XML配置。我打算使用Spring-MVC或Jax-RS/CXF來進行服務。

這是可以實現的和一個「良好」的過程?

我似乎無法找到任何類似的可行示例。有人可以指點我一個例子,或者提供一些提示來解決這個問題嗎?我已經很熟悉Spring/Spring-MVC/Jax-RS。但是在Karaf/Camel/Fabric8/OSGi之間,各種部署選項等等,我都在圈圈,無法入門。

謝謝!

只是爲了澄清,這是用於Karaf上的JBOSS保險絲,而不是Fuse EAP。

回答

3

我不認爲這是可以實現的,如果是,它可能不應該是。

首先,Java的配置:

當然,你可以有與保險絲的駱駝組成部分的Spring Java註釋,記住,保險絲6.2利用彈簧3.2軸承,所以你幾乎與任何支持卡提供的Java配置。我沒有嘗試過,但肯定會支持它。

其次,保險絲和Spring引導:

在春季啓動,保險絲和春季啓動的條件是不是真的兼容,因爲他們都是容器中運行應用程序(保險絲容器的範圍更廣而不是春季啓動,但基本上它們都希望管理應用程序的執行環境)。

怎麼辦?

如果您只是想運行REST Web服務並且不需要任何其他Fuse'好處',那麼Spring Boot就是一個非常強大的容器,可以爲您的服務挑選出所有Fuse的東西(儘管你可以通過在應用程序中使用Java庫來使用Camel和AMQ)。

如果您需要使用保險絲作爲你的執行環境,那麼你真的不想使用Spring啓動。大概需要OSGI,布料等,所以你需要穿保險絲直夾克。休息終點,我想看看駱駝,其餘成分,但是如果你真的想用JAX-RS JSR311資源綁定那麼它描述in the camel docs,雖然我沒有試過用保險絲(6.2使用了駝峯2.15所以這應該工作)。

爲了拋出另一個扳手,我最近使用dropwizard作爲REST服務的容器,這個服務大量使用Jax-RS和球衣(我更喜歡CXF配置的恐怖),並且並沒有像彈簧啓動那樣做很多魔術自動配置。

+0

謝謝@ stringy05。是的,看起來像Spring Boot,它的所有類路徑魔術都不是OSGi友好的,所以這是一個不行。我能夠在Fuse/Karaf中使用Spring java配置工作(使用Spring 3.2.12.RELEASE)。我確實必須包含一個spring xml配置來識別容器,但只需將XML配置指向我的java配置並且一切正常。 – crig

1

由於您的問題有很多部分,我將試圖打破他們,給我的意見和背後的思考過程:

  1. 「春BOOT使得開發和測試更容易」 &「避免XML配置」 - 誠然。要在本地進行原型設計,您可以使用嵌入式tomcat快速開發,部署和測試。一旦準備好部署到任何應用服務器(您的情況爲JBoss Fuse),就可以從POM中刪除嵌入式tomcat插件,並部署生成的工件
  2. 「Spring Java配置的使用」 - 如果不需要您使用Spring BOOT,它會爲您提供配置所需的所有選項。
  3. 要開始(從像註釋創建神器deply在JBoss框架的使用),正式文檔涵蓋所有步驟[例projectw與嵌入式的tomcat - https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-tomcat &教程 - http://spring.io/guides/gs/rest-service]
  4. 部署選項 - 如果您正在使用Maven,那麼將編譯爲工件創建生命週期。爲了自動化部署並在服務器上處理Maven生命週期,Jenkins是一個很好的候選人:不幸的是,我沒有使用你提到的其他候選人。
+0

感謝您的回答Srikanta。我更新了澄清,這不是JBOSS EAP,這是保險絲與Apache Karaf /駱駝,從而改變部署相當多的問題。 – crig