apache camel_令人印象深刻的第一个Apache Camel版本
apache camel
在準(zhǔn)備下周的CamelOne會(huì)議時(shí),我花了一些時(shí)間回顧一下Apache Camel項(xiàng)目的歷史。 因此,除其他外,我了解了Apache Camel的第一個(gè)正式1.0版本 。| Apache Camel 1.0 – 5年前 |
我看的越多,這個(gè)版本的事實(shí)給我留下了深刻的印象。 現(xiàn)在您必須考慮這是5年前完成的,在此版本中,駱駝創(chuàng)始人已經(jīng)在項(xiàng)目的DNA中
- Java DSL
- XML DSL(使用Spring)
- 路線(xiàn)圖上的OSGi
- 660kb的駱駝核心JAR
- 18個(gè)外部組件(+駱駝核心組件)
- 2個(gè)工作實(shí)例
- 完整的網(wǎng)站,包括文檔,包括常見(jiàn)問(wèn)題解答
- 項(xiàng)目徽標(biāo)和包裝盒
- Camel Maven插件可輕松運(yùn)行Camel及其示例
- 測(cè)試套件
以下是此版本的tar球分布的屏幕截圖:
| Camel 1.0發(fā)行版(在pom.xml中提示OSGi野心) |
當(dāng)您聽(tīng)到詹姆斯談?wù)撨^(guò)去以及他如何創(chuàng)造駱駝時(shí),他的野心就是駱駝不應(yīng)該束縛您。 如果要使用Java而不是XML,則可以。 如果您使用的是Spring XML旅行車(chē),那就很好。 如果您對(duì)Groovy感興趣,那么很好,如果您想使用Ruby,那就去吧(在Camel 1.3中添加了受支持的Ruby)。
讓我們看一下DSL的通道。 Apache Camel很可能是第一個(gè)在其第一版中即開(kāi)即用地提供多種語(yǔ)言DSL的集成項(xiàng)目。 它只是項(xiàng)目的DNA,而正是IMHO Apache Camel在其他項(xiàng)目中脫穎而出的原因–多元而充滿(mǎn)活力的社區(qū)以及Camel項(xiàng)目的DNA都包含“沒(méi)有鞋適合所有人”。
因此,讓我們看一下使用Java DSL的示例。 如今,使用最新的Camel版本(例如2.9.2)的人們應(yīng)該立即熟悉DSL –某些東西從一開(kāi)始就起作用!
| Camel 1.0中的Java DSL |
還有XML DSL的樣本,您也可以在源代碼中看到該樣本。
| Camel 1.0中的XML DSL |
在此第一個(gè)版本中,我們還擁有出色的測(cè)試工具包,例如,在下面的屏幕快照中注意到模擬的用法和設(shè)置期望。 從第一天開(kāi)始測(cè)試駱駝就變得容易了。 是的,這是駱駝項(xiàng)目的DNA。
| 駱駝1.0中已包含駱駝測(cè)試套件 |
并注意上述單元測(cè)試中對(duì)Apache Camel創(chuàng)始人的引用。
- 詹姆斯·斯特拉坎
- 羅伯·戴維斯
- 希拉姆·奇里諾
- 紀(jì)堯姆·諾德(Guillaume Nodet)
謝謝你們創(chuàng)造了這個(gè)很棒的項(xiàng)目。 令人印象深刻的第一版,你們5年前做了。
我將通過(guò)運(yùn)行Apache Camel 1.0版本中的camel-example-spring結(jié)束本博客。
$ cd的例子
$ cd駱駝示例春天 $ mvn編譯 $ mvn駱駝:運(yùn)行
現(xiàn)在,您應(yīng)該有耐心,因?yàn)镸aven正在下載5年之久的古老JAR。 所以需要一段時(shí)間:)
| 駱駝1.0示例運(yùn)行 |
上面的屏幕截圖顯示了運(yùn)行的Camel 1.0示例。 此示例通過(guò)使用來(lái)自JMS隊(duì)列的消息并將其寫(xiě)入文件開(kāi)始。 因此,我們需要與jconsole連接,以發(fā)送消息。 我已經(jīng)突出顯示了在jconsole中使用的服務(wù)URL。
| jconsole發(fā)送消息– Camel 1.0搖滾 |
在jconsole中,我們展開(kāi)樹(shù)并找到測(cè)試隊(duì)列,并使用文本“ Camel 1.0 rocks”調(diào)用sendTextMessage操作。
在上面的第二張屏幕截圖中,您可能會(huì)在控制臺(tái)的最后一行中看到“ Received Exchange”。 這是Camel記錄的日志,因?yàn)樵撌纠褂昧舜瞬┛晚敳康钠聊豢煺罩兴镜囊韵侣酚伞?
然后,我們還可以看到文件也寫(xiě)入了測(cè)試目錄,在這里我們可以看到文件名是消息ID,文件內(nèi)容是從jconsole發(fā)送的內(nèi)容:
這是5年前,所以讓我們快進(jìn)到今天。
Apache Camel的最新版本是2.9.2,因此讓我們遷移舊示例以使用此版本。 為此,您需要:
- 調(diào)整pom.xml以使用Camel 2.9.2,并且camel-activemq組件已從Camel移到ActiveMQ,因此您需要包括它。 對(duì)于日志記錄,我們現(xiàn)在使用slf4j。 修改后的pom.xml如下所示
| 將示例從Camel 1.0升級(jí)到2.9.2,調(diào)整pom.xml文件 |
- 在Spring XML文件中,您需要更改Camel的名稱(chēng)空間,因?yàn)楫?dāng)Camel畢業(yè)成為Apache頂級(jí)項(xiàng)目時(shí),該名稱(chēng)空間已從activemq遷移到camel。 我們也升級(jí)到在XSD中使用Spring 3.0。 現(xiàn)在,activemq組件來(lái)自ActiveMQ,而不是Camel。 現(xiàn)在,packages屬性是一個(gè)xml標(biāo)記,因此您需要在<camelContext>中使用<packlage>。 更新后的文件如下所示:
| 將Spring XML從Camel 1.0升級(jí)到Camel 2.9.2 |
好的,我們現(xiàn)在可以開(kāi)始了。
無(wú)需更改Java源代碼!!!!
| 該示例從Camel 1.0遷移到2.9.2,而無(wú)需更改Java代碼!!!! |
就像在我們使用JConsole發(fā)送文本消息之前一樣。
我必須說(shuō)James和創(chuàng)始人在Camel 1.0版本中實(shí)現(xiàn)了這一目標(biāo),示例中的DSL與今天的Camel版本完全兼容。
確實(shí)是一個(gè)非常令人印象深刻的第一版。 駱駝(Camel)開(kāi)了一個(gè)很好的開(kāi)端,此后此項(xiàng)目就不斷發(fā)展壯大。
參考: 在我們的JCG合作伙伴 Claus Ibsen在Apache Camel博客的Claus Ibsen 上看到令人印象深刻的第一批Apache Camel版本 。
翻譯自: https://www.javacodegeeks.com/2012/06/impressive-first-apache-camel-release.html
apache camel
總結(jié)
以上是生活随笔為你收集整理的apache camel_令人印象深刻的第一个Apache Camel版本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安卓系统卸载软件卸载的干净吗(安卓系统卸
- 下一篇: 本周Java技巧#7 – Maven慢吗