apache.camel_Apache Camel 2.18发布–包含内容
apache.camel
本周發(fā)布了Apache Camel 2.18.0 。 此版本是重要版本,我將在此博客文章中重點(diǎn)介紹。
Java 8
Camel 2.18是第一個需要Java 1.8的版本(例如,容易記住的Camel 2.18 = Java1.8。Camel2.17 = Java 1.7)。 我們采取了謹(jǐn)慎的方法,并保持了Camel API的向后兼容性,因?yàn)樽罱K用戶可以將現(xiàn)有的Camel應(yīng)用程序源代碼并用Java 1.8和Camel 2.18重新編譯,因此您應(yīng)該一切都很好。
在Camel源代碼內(nèi)部,我們已經(jīng)開始使用Java 8 API來實(shí)現(xiàn)新功能。 現(xiàn)有功能仍在使用Java 7 API,因此我們可以輕松地將錯誤修復(fù)移植回舊版本。
我們還將Java 8 lambda / functional API輕輕地引入了Java RouteBuilder,您可以在謂詞和消息轉(zhuǎn)換中使用它們。 您可以在github上查看一個小例子。
Spring啟動啟動器
自Camel 2.15以來,我們就一直支持Spring Boot,但在此發(fā)行版中,我們精選了所有Camel組件以使其對齊并使其充當(dāng)一流的Spring Boot啟動器組件 。 這意味著您應(yīng)該使用-starter作為依賴項(xiàng),例如camel-kafka-starter。
Spring Boot自動配置
現(xiàn)在所有的Camel組件都會生成Spring Boot自動配置源代碼,這意味著您可以使用Spring Boot配置來配置組件,數(shù)據(jù)格式,語言等。 例如,在application.properties文件中。 而且,在編輯application.properties文件時,具有Spring Boot支持的IDEA,Eclipse等工具將具有代碼完成功能。
幫助實(shí)施的Nicola Ferraro發(fā)布了博客條目,其中包含更多詳細(xì)信息。
Spring Boot運(yùn)行狀況檢查
如果您使用執(zhí)行器,則Apache Camel會與Spring Boot集成在一起進(jìn)行運(yùn)行狀況檢查。 健康檢查會進(jìn)行粗粒度檢查,以確保駱駝?wù)_啟動。 我們計(jì)劃在Camel中實(shí)現(xiàn)更深的Health Check API,以允許各個組件參與檢查。 例如,檢查組件是否可以連接到遠(yuǎn)程系統(tǒng)等等。
野生飛群駱駝
WildFly Swarm項(xiàng)目還為Apache Camel提供了強(qiáng)大的支持。 然而,這種發(fā)展發(fā)生在野蠅駱駝項(xiàng)目上。 WildFly-Camel發(fā)布了支持駱駝2.18.0的版本4.3.0。
自動文檔
我以前在博客中寫道,我們正在努力從源代碼中保存和生成Camel文檔。 這意味著每個Camel組件,eip,語言,數(shù)據(jù)格式等都在源代碼中記錄了它們的選項(xiàng),然后我們在構(gòu)建過程中將其提取并保持隨附的文檔為最新。 我們已經(jīng)將幾乎所有文檔從舊Wiki系統(tǒng)遷移到了源代碼中的.adoc文件。 我們將繼續(xù)進(jìn)行此工作以完成下一個版本的發(fā)布,并將致力于建立一個新網(wǎng)站。
作為駱駝開發(fā)者,您可能認(rèn)為這沒什么大不了的,但實(shí)際上確實(shí)如此。 這樣可確保文檔中所有選項(xiàng)始終都是100%最新。 它還允許工具在設(shè)計(jì)和運(yùn)行時訪問此信息。 hawtio可以在運(yùn)行時顯示有關(guān)所有端點(diǎn)的深層信息,并包括每個選項(xiàng)的文檔,如下所示:
我們還有一個Maven插件 ,可以掃描您的所有源代碼并報(bào)告無效的配置駱駝端點(diǎn)。 該插件目前托管在fabric8上 ,在這里我們可以更快地促進(jìn)創(chuàng)新。 但是,當(dāng)插件成熟時,我們計(jì)劃將源代碼捐贈給Apache Camel項(xiàng)目,以使其開箱即用。
XML XSD完整記錄
用于Spring和Blueprint的XML XSD現(xiàn)在還包括有關(guān)您可以在外部路由上進(jìn)行的配置的文檔,例如on和其他全局配置。
FluentProducerTemplate
FluentProducerTemplate是較小但非常可愛的新功能之一,它使用流利的樣式API作為客戶端API來向Camel端點(diǎn)發(fā)送消息。 現(xiàn)在,您可以用
template().withBody("Hello World).withHeader("foo", 123").withHeader("bar", 456).to("jms:queue:beer").send();休息生產(chǎn)者
Rest組件允許現(xiàn)在(作為客戶端)調(diào)用REST服務(wù),您可以在其中選擇以下Camel組件之一進(jìn)行HTTP傳輸:http,http4,netty4-http,jetty,restlet,undertow。 您還可以參考現(xiàn)有的swagger api文檔,并在類路徑中包含camel-swagger-java,以便將其余端點(diǎn)的自動驗(yàn)證配置為使用有效的rest操作/參數(shù)。
使用Hystrix進(jìn)行斷路
我們增加了對使用Netflixx Hystrix作為您的駱駝路線中的電路中斷的原生支持。 有一個例子 。
下面是Spring Boot調(diào)用在WildFly Swarm上運(yùn)行的服務(wù)的另一個示例 ,該服務(wù)在Kubernetes集群(或本地)上運(yùn)行,我最近一直在談?wù)撍?
public void configure() throws Exception {from("timer:foo?period=2000").hystrix().to("netty4-http:http://{{service:helloswarm}}/say").onFallback().setBody().constant("Nobody want to talk to me").end().log("${body}");}Zipkin郵件跟蹤
該版本還包括camel-zipkin,它允許使用zipkin進(jìn)行分布式消息跟蹤。 您可以通過提供的示例找到更多詳細(xì)信息。
服務(wù)電話
服務(wù)呼叫EIP允許通過可插入服務(wù)注冊表中的服務(wù)發(fā)現(xiàn)來呼叫遠(yuǎn)程服務(wù)。 例如,您可以使用etdc,consul,ribbon,kubernetes等產(chǎn)品。
新組件
與往常一樣,每個發(fā)行版都包含許多新組件:
- camel-asterisk –用于與Asterisk PBX服務(wù)器進(jìn)行交互
- camel-cm-sms –用于使用SM SMS網(wǎng)關(guān)發(fā)送SMS消息。
- camel-consul –用于將您的應(yīng)用程序與Consul集成。
- camel-ehcache –用于與Ehcache 3緩存進(jìn)行交互。
- camel-flink –將Camel連接器與Apache Flink任務(wù)橋接。
- camel-lumberjack –用于通過伐木工人協(xié)議接收日志(例如Filebeat使用)
- camel-ribbon –將Netflixx Ribbon與Service Call EIP一起使用。
- camel-servicenow –使用ServiceNow進(jìn)行云管理。
- camel-telegram –用于通過Telegram進(jìn)行消息傳遞。
- camel-zipkin –使用zipkin跟蹤駱駝消息流/定時。
- camel-chronicle –用于與OpenHFT的Chronicle-Engine進(jìn)行交互。
新數(shù)據(jù)格式
我們還有一個新的數(shù)據(jù)格式:
- camel-johnzon – Apache Johnzon是JSR-353(用于JSON處理的JavaTM API)的實(shí)現(xiàn)。
升級時的重要信息
Spring的舊版本(例如3.x和4.0.x)已刪除。 ServiceMix / Karaf上的OSGi用戶也應(yīng)該使用Karaf4.x。 但是,它可以在某些較舊的Karaf版本上運(yùn)行,但未得到官方支持。 下一版本肯定會刪除對較早版本的支持。
使用Spring-DM的OSGi用戶應(yīng)安裝camel-spring-dm模塊,因?yàn)橐呀?jīng)從camel-spring中刪除了Spring DM。 現(xiàn)在需要Spring Boot1.4.x。
您可以在Camel發(fā)行說明中找到更多詳細(xì)信息。
下一步是什么
我們將在Camel 2.19發(fā)行版上進(jìn)行工作,在此方面我們可以進(jìn)一步改進(jìn)Camel 2.18發(fā)行版為我們帶來Java 8的新途徑。我們也希望完成文檔的遷移并在新的網(wǎng)站上工作。 希望我們也能得到一個不錯的徽標(biāo)。
接下來是駱駝2.19,我們將開始使用駱駝3.x。 但這將首先在駱駝社區(qū)中討論。 但是,在今年余下的時間里,我們將專注于計(jì)劃于2017年第一季度開始的Camel 2.19。
翻譯自: https://www.javacodegeeks.com/2016/10/apache-camel-2-18-released-whats-included.html
apache.camel
總結(jié)
以上是生活随笔為你收集整理的apache.camel_Apache Camel 2.18发布–包含内容的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: neo4j 两个点创建关系_Neo4j:
- 下一篇: 逻辑建模与物理建模_架构层和建模域逻辑