日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Apache Camel 2.16发布–十大亮点

發布時間:2023/12/3 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Apache Camel 2.16发布–十大亮点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Apache Camel 2.16于上周五發布。 這篇博客文章是我嘗試在此新版本中進行前10名(加1作為獎勵)的亮點。

1.動態到

來自駱駝用戶的最常見的常見問題是如何將消息發送到端點,uri應該使用消息中的動態值(例如標頭)。

在此發行版之前,答案將是收件人列表EIP。

但是,為了簡化操作,我們在DSL中引入了Dynamic,它使用簡單語言來動態計算端點uri,并將消息發送到該端點。 對于更高級的用例,答案仍然是收件人列表,因為它可以并行發送到多個端點,并且可以進行聚合等等。

因此,常見問題解答中的示例 :

.to("freemarker://templateHome/${body.templateName}.ftl")

收件人列表的解決方案在哪里:

.recipientList(simple("freemarker://templateHome/${body.templateName}.ftl"))

現在可以使用toD輕松完成:

.toD("freemarker://templateHome/${body.templateName}.ftl")

在XML DSL中,您將使用:

我們將toD和toD故意分開。 因為前者允許Camel知道它的靜態端點進行優化,而后者則是動態的。

在其他一些EIP(例如WireTap)和rest-dsl中也支持dynamic to。

2. Enrich和PollEnrich現在支持動態端點。

由于toD的新動態,它為將其引入到Content Enricher EIP中以實現rich和pollEnrich取得了進展。 多年來,這一直受到大眾的需求,但最初計劃是作為Camel 3.0的更改。 通過支持URI中的簡單語言,這與toD一樣。

一個小例子:

from("direct:start").enrich().simple("http:myserver/${header.orderId}/order").to("direct:result");

注意我們如何使用$ {header.orderId}來引用標題。

3.所有包含組件的文檔

在此發行版中,我們有199個組件(有些是ftp sftp等的變體)。 對于您可以在組件上配置的每個選項,或使用Javadoc記錄端點。

然后在構建過程中提取該文檔,以使其在運行時可用,您可以使用Java API,JMX或Camel命令進行訪問 。

我們也已經開始為每個選項貼標簽(認為是標簽/徽章)的過程,這樣您就可以查看該選項是否適用于消費者,生產者,安全性,高級等等。 這是一個持續的過程,但是我們已經對具有最多選項的組件執行了此操作。

這是我們從Camel 2.12開始就一直努力的延續。 先前的Camel 2.15版本有很多文檔, 我已經在其中寫過博客 。 有了Camel 2.16,我們現在可以100%覆蓋文檔,并且在構建過程中啟用了驗證檢查,如果沒有文檔,則選件將失敗。

借助此功能工具(例如hawtio),可以美化UI來顯示有關您的Camel應用程序的信息,如下所示:

hawtio在運行時端點屬性中顯示了其配置方式。 選項分組在選項卡中。

4.更深入的JMX統計信息

我們已經對所有EIP進行了大修,以提供有關EIP的更多運行時統計信息。 例如,基于內容的路由器現在允許列出所有謂詞,并細分這些謂詞中使用最多的謂詞。 負載均衡器EIP還會公開統計信息,例如其當前狀態,異常觸發次數最多等。 這適用于所有各種EIP。 此外,還公開了EIP的配置。

我們還設法使您的自定義Camel組件或Java Bean混入其自定義JMX屬性和操作,以及來自Camel的標準屬性/操作集。 在此之前,這是不可能的,只有您才能使用。 我以前曾對此寫過博客 。

5.傳入和傳出端點

現在,我們在端點注冊表中跟蹤所有傳入和傳出端點。 可從Java,JMX和Camel命令訪問注冊表。 注冊表還跟蹤每個端點的使用頻率,因此您可以知道哪個端點使用得最多。

我以前曾在博客上對此進行過介紹 ,并錄制了一段視頻來演示這一點。

6.純Java中的Swagger 2.0

swagger組件已作為新的camel-swagger-java模塊移植到Java,并已升級到swagger 2.0規范。 我們還將camel-swagger-java集成到rest-dsl,并且能夠使用所選的選定HTTP組件。 因此,如果您將jetty與rest-dsl結合使用,則swagger模塊可以重用該模塊,以通過HTTP公開api文檔。 不建議使用基于Scala的舊模塊,并且只能使用servlet公開api文檔。

我以前在博客上對此進行過記錄,并錄制了有關此操作的視頻。

7. rest-dsl的改進

現在,您可以為其余服務的參數映射,查詢參數,路徑,正文等配置文檔。

您可以從Apache Camel附帶的一個小示例中找到更多詳細信息。

8.腳本DSL

我們在DSL中引入了專用腳本 ,以允許在路由過程中執行腳本,默認情況下,該腳本不會修改您的消息。 我們發現許多用戶想要這樣做,但是在使用語言組件時有點痛苦,并且記得設置transform = false。 使用腳本DSL,它在路由中脫穎而出。

運行一些groovy腳本的小例子

<route><from uri="file://inbox"/><script><groovy>// some groovy code goes here</groovy></script><beanRef ref="myServiceBean" method="processLine"/></route>

9.啟用參數綁定后,駱駝代理更易于使用

如果使用Camel代理將中間件隱藏在接口后面,則在調用接口上的方法時,現在可以預先執行參數綁定。 我們發現這更直觀,并且可以像使用Bean組件一樣從消息正文/標題等映射到這些參數。

在Camel proxy上查看更多詳細信息。

10.其他一些很棒的新東西

文件使用者現在支持使用冪等的讀取鎖定模式。 這樣可以安全地使群集文件使用方與同一文件競爭共享文件系統,以確保由選擇的冪等存儲庫(例如使用hazelcast)控制排他的讀取鎖定。

我們還提供了Maven原型,用于使用spring-boot和cdi創建微服務風格。

聚合器支持預完成模式,該模式允許傳入的消息完成上一組并以其自身作為第一條消息來啟動新組。

11.更多組件

有12個新組件和3個新數據格式。

  • camel-paho –使用Eclipse Paho客戶端進行MQTT消息傳遞
  • camel-pdf –用于創建PDF文檔
  • camel-grape –允許您在CamelContext運行時獲取,加載和管理其他jar。
  • camel-slack –允許您連接到Slack實例,并通過預先建立的Slack傳入Webhook傳遞包含在消息正文中的消息。
  • camel-jolt –用于從JSON到JSON的轉換
  • camel-aws-ec2 –為Amazon Web Services EC2提供支持的組件
  • camel-undertow –將Undertow用作HTTP服務器或客戶端。
  • camel-git –通用Git組件
  • camel-sjms – SJMS Batch是一個專用組件,用于從JMS隊列中高效執行事務性批處理消耗
  • camel-http-common –一個通用的基本組件,可在我們擁有的所有各種HTTP組件之間重用。
  • camel-swagger-java –一個基于Java的純Swagger組件。
  • camel-elsql –使用ElSql定義SQL查詢的擴展SQL組件
  • camel-jbpm –通過kie-remote-client API將消息發送到jBPM。

例如,有一個通用的git組件,一個用于輸出PDF文檔的pdf組件,以及一個新的批處理JMS組件,該組件允許對X個數量的JMS消息進行批處理并將它們聚合為一個事務范圍內的單個消息。

有關此發行版中更改的詳細列表,請參見Camel 2.16發行說明 。 與往常一樣,當您從較早的Camel版本進行升級時,請務必閱讀升級時要考慮的重要更改部分。

翻譯自: https://www.javacodegeeks.com/2015/10/apache-camel-2-16-released-top-10-highlights.html

總結

以上是生活随笔為你收集整理的Apache Camel 2.16发布–十大亮点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。