在camel路由時(shí),使用blueprint屬性占位器。camel支持blueprint,blueprint提供屬性占位器服務(wù)。camel支持“覆蓋配置”公約,所以我們得在xml文檔中定義blueprint屬性占位器。樣例:blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://ww...
Camel和Karaf都是apache的頂級(jí)應(yīng)用。相信玩開源的人對(duì)apache頂級(jí)項(xiàng)目?jī)?nèi)心都有著崇敬的心情。最近的項(xiàng)目中有幸使用到了這兩個(gè)框架。愿意與大家分享一下。 Camel的強(qiáng)大不僅僅體現(xiàn)著配置路由上,他對(duì)很多開源中間件的集成也是So Nice. 可以說(shuō)他的成功也是由于封裝了真么多的中間件。真是功德無(wú)量啊! 我在項(xiàng)目里使用到的中間件有Open mq 和 Netty。相信對(duì)于使用通訊中間...
apache camel讓你在很宏觀的層面編寫程序,幾乎不像是在寫程序。我需要將一些客戶的網(wǎng)站從其它地方遷移到我的詩(shī)篇在線建站系統(tǒng)中去,由此開始了將近一個(gè)星期的與camel的接觸,確實(shí)是一個(gè)宏大的程序。先看一張camel的router。對(duì)應(yīng)的java DSL:1from("jms:TOOL.CLONE.PAGE").beanRef("...
split和aggregate,看圖就明白了。下面我用一個(gè)例子來(lái)說(shuō)明,非常難得,你很難在網(wǎng)上找到apache camel這樣的例子。1、路由1from("jms:TOOL.TTT").bean(TttBean.class, "start").split(body(List.class),new MyAggregationStr...
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.osgi....
在做系統(tǒng)集成的時(shí)候,必不可少的任務(wù)就是將數(shù)據(jù)從一種格式轉(zhuǎn)換為另一種格式,再把轉(zhuǎn)換后的格式發(fā)到目標(biāo)系統(tǒng):Camel提供的Message translator可以分為:■ Using a Processor■ Using beans■ Using 1,利用processor的方式在Apache Camel框架入門示例 已經(jīng)有個(gè)介紹.blog.csdn.net...
要說(shuō)apache camel能做什么,好像什么都能做:),它是一個(gè)龐大的系統(tǒng),但應(yīng)用是如此簡(jiǎn)單。詩(shī)篇建站系統(tǒng)在tomcat容器內(nèi)使用camel。主要目的是增加系統(tǒng)的集成,如果不用camel,這些功能通過(guò)bash,crontab等等也可以完成,但是將這些功能代碼都進(jìn)入你的svn系統(tǒng),在部署的時(shí)候不用在操作系統(tǒng)層次作修改,不是更方便嗎?詩(shī)篇建站系統(tǒng)只是簡(jiǎn)單的使用了camel中的少量組件.1、t...
StackOverflow上有很多學(xué)習(xí)Apache Camel的資源,而這里僅僅是使用一個(gè)實(shí)例來(lái)簡(jiǎn)單的介紹一下Apache Camel基礎(chǔ)Apache Camel十一個(gè)Java庫(kù)和引擎,有多種不同的整合模式,然而他并不是BPMN或者ESB,雖然可以在此引擎下實(shí)現(xiàn)他們。Apache Camel是一個(gè)編程人員調(diào)節(jié)、整合問(wèn)題的工具。Messageorg.apache.camel.Me...
在Camel的route中,消息在Route的各個(gè)節(jié)點(diǎn)中是以Exchange的形式傳遞的,所以對(duì)Exchange結(jié)構(gòu)的理解對(duì)使用Camel來(lái)說(shuō)是很重要的. Exchange ID 如果不指定,Camel會(huì)默認(rèn)設(shè)置一個(gè),可以用來(lái)標(biāo)識(shí)一個(gè)route的一次執(zhí)行. MEP message exchange pattern,有InOnly和InOut方式. Exception 但route出異常...
Apache Camel是Apache基金會(huì)下的一個(gè)開源項(xiàng)目,它是一個(gè)基于規(guī)則路由和處理的引擎,提供企業(yè)集成模式的Java對(duì)象的實(shí)現(xiàn),通過(guò)應(yīng)用程序接口 或稱為陳述式的Java領(lǐng)域特定語(yǔ)言(DSL)來(lái)配置路由和處理的規(guī)則。其核心的思想就是從一個(gè)from源頭得到數(shù)據(jù),通過(guò)processor處理,再發(fā)到一個(gè)to目的的.這個(gè)from和to可以是我們?cè)陧?xiàng)目集成中經(jīng)常碰到的類型:一個(gè)FTP文件夾中的文件,...
在做系統(tǒng)集成的時(shí)候,必不可少的任務(wù)就是將數(shù)據(jù)從一種格式轉(zhuǎn)換為另一種格式,再把轉(zhuǎn)換后的格式發(fā)到目標(biāo)系統(tǒng):Camel提供的Message translator可以分為:■ Using a Processor■ Using beans■ Using 1,利用processor的方式在Apache Camel框架入門示例 已經(jīng)有個(gè)介紹.blog.csdn.net/kkdelta...
繼介紹完Camel如何處理FTP,JMS接口之后,今天介紹一下系統(tǒng)集成的時(shí)候經(jīng)常遇到的另一個(gè)接口,HTTP,一個(gè)示例需求如下圖所示:(圖片來(lái)源于Camel in Action)本文給出一個(gè)簡(jiǎn)單的代碼示例如何用Camel來(lái)實(shí)現(xiàn)這樣一個(gè)應(yīng)用:1,在一個(gè)JAVA類里配置如下路由:這里只示例了HTTP的部分,其他功能實(shí)現(xiàn)可以參見Apache Camel框架系列的其他博客.[ja...
在做系統(tǒng)集成的時(shí)候,必不可少的任務(wù)就是將數(shù)據(jù)從一種格式轉(zhuǎn)換為另一種格式,再把轉(zhuǎn)換后的格式發(fā)到目標(biāo)系統(tǒng),在此用實(shí)例介紹一下Camel中利用Freemarker做數(shù)據(jù)轉(zhuǎn)換.1,Freemarker的模板如下:[html] view plaincopyprint?xmlversion="1.0"encoding="UTF-8"?>peoplexmlns:h...
繼上次Camel如何在做項(xiàng)目集成類型的項(xiàng)目中用于從FTP取文件和傳文件之后,我們?cè)谙到y(tǒng)集成中經(jīng)常遇到的另一個(gè)應(yīng)用就是將數(shù)據(jù)通過(guò)JMS傳到消息中間件的queue里,或者從消息中間件的queue里取消息.本文簡(jiǎn)單的介紹和示例一個(gè)用Camel實(shí)現(xiàn)這樣的需求:監(jiān)聽某一個(gè)文件夾是否有文件,取到文件后發(fā)送到另外一個(gè)系統(tǒng)監(jiān)聽的queue.(圖片來(lái)源于Camel in Action)1,因?yàn)橐肑MS...
在做項(xiàng)目集成類型的項(xiàng)目的時(shí)候,經(jīng)常會(huì)有這樣的需求,用戶或者別的系統(tǒng)將文件傳到一個(gè)FTP server,然后系統(tǒng)從FTP server取文件進(jìn)行相應(yīng)的處理.本文簡(jiǎn)單的介紹和示例一個(gè)用Camel實(shí)現(xiàn)這樣的需求:監(jiān)聽FTPserver是否有文件,取到文件做相應(yīng)處理傳到另外一個(gè)系統(tǒng). (圖片來(lái)源于Camel in Action)1,搭建一個(gè)FTP server,從http://source...