红帽JBoss的FUSE是开源的企业服务总线(ESB) ,他最大的好處就是可以讓你擁有彈性的安裝大小,讓你可以整合跨越不同資料中心的服務語系統。在FUSE里面,还有Apache的Camel 提供一個功能齊全,容易使用和可以直接使用的框架,所以可以更快速的開發整合專案。Fuse 6.1所提供的元件在这里!
在开发的A-MQ的程式或是Camel的整合系统的时候,我们都会用的Maven来管理程式。 可是常常因為不同版本的關聯,造成程式間的衝突,這種問題超級羅生門,又難抓。介紹幾個小技巧,讓你可以更簡單的管理你的pom.xml,让你可以专注在开发上,不要为了设定一个头两个大。
不管你是透过原型 或是乾脆起一個空白的maven專案,可以透過一些微幅的調整讓你管理起來更簡單,所以,第一件要解決得事情就是一堆的Artifact的关联版本,要一个一个的查FUSE6 .1或是AMQ6.1用到哪些实在是有够麻烦的,所以我们只要在pom.xml文件里面增加“dependencyManagement”这个标签就会自动地去管理,还有抓取我们需要的版本,是不是很棒!
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.fuse.bom</groupId>
<artifactId>jboss-fuse-parent</artifactId>
<version>${jboss.fuse.bom.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
我们把FUSE版本独立出来,以后你可以随着版本跟着变更,这次是6.1,所以请在属性的标签里面标明 6.1.0.redhat-379
<properties>
<jboss.fuse.bom.version>6.1.0.redhat-379</jboss.fuse.bom.version>
</properties>
这样我们在关联性上面,就不需要加版本啰!
例如:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
</dependency>
第二个部分就是要如何让你在部署的时候可以更轻松,因为Fabric的部署是可以直接跟maven联结的,所以,先设定登入Fabric的帐号密码,这个就必须设在你的maven的的settings.xml里面拉!路径 ~/.m/setting.xml,你可以同時設定多組密碼,預設值是fabric8.upload.repo,但是如果你同時在開發多個專案,可能也會用到多個吧~
<servers>
<server>
<id>fabric8.upload.repo</id>
<username>Username4Default</username>
<password>Password4Default</password>
</server>
<server>
<id>fabric8.demo.repo</id>
<username>Username4DEMO</username>
<password>Password4DEMO</password>
</server>
</servers>