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