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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Apache Camel 3 –骆驼核心vs骆驼核心引擎(较小的核心)

發布時間:2023/12/3 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Apache Camel 3 –骆驼核心vs骆驼核心引擎(较小的核心) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Camel團隊目前正在忙于Apache Camel 3的開發。已經完成了許多工作,到目前為止,我們已經發布了3個里程碑版本。 下一個里程碑版本4具有一些出色的創新功能,這些功能我將在接下來的幾個月中發布。

該博客的主題是我們在將駱駝核拆分成較小的模塊方面所做的工作,您現在可以輕松地僅選擇所需的模塊。

如果我們看一下駱駝核心JAR的依賴關系樹,您會發現它已被分成許多模塊,如下所示:

[INFO] +- org.apache.camel:camel-core:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-api:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-base:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-jaxp:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-management-api:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-support:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-util:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-util-json:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-bean:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-browse:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-caffeine-lrucache:jar:3.0.0-SNAPSHOT:compile [INFO] | | \- com.github.ben-manes.caffeine:caffeine:jar:2.7.0:compile [INFO] | | +- org.checkerframework:checker-qual:jar:2.6.0:compile [INFO] | | \- com.google.errorprone:error_prone_annotations:jar:2.3.3:compile [INFO] | +- org.apache.camel:camel-controlbus:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-dataformat:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-dataset:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-direct:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-directvm:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-file:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-language:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-log:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-mock:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-properties:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-ref:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-rest:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-saga:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-scheduler:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-seda:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-stub:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-timer:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-validator:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-vm:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-xpath:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-xslt:jar:3.0.0-SNAPSHOT:compile [INFO] | \- org.slf4j:slf4j-api:jar:1.7.25:compile

在Camel 2.x中,所有這些模塊都包含在同一個駱駝核心JAR中??。

為了使從Camel 2.x到3.0的遷移以及易于使用,我們將保持駱駝核心與Camel 2.x中的JAR依賴項相同。 因此,以上輸出僅來自在您的Maven pom.xml文件或gradle構建文件中聲明對camel-core的依賴。

但是,駱駝3里程碑4即將推出的功能是輕松選擇所需的東西。 例如,下面顯示了一個依賴關系樹,其中我們只使用了盡可能少的樹(使用新的camel-core-engine JAR作為依賴關系):

+- org.apache.camel:camel-core-engine:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-api:jar:3.0.0-SNAPSHOT:compile [INFO] | | \- org.apache.camel:camel-util:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-management-api:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-support:jar:3.0.0-SNAPSHOT:compile [INFO] | \- org.apache.camel:camel-core:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-base:jar:3.0.0-SNAPSHOT:compile [INFO] | \- org.apache.camel:camel-properties:jar:3.0.0-SNAPSHOT:compile

為了說明這一點,我們提供了2組示例

  • 駱駝示例主要
  • 駱駝示例主要微型

前者使用駱駝核心作為依賴關系,其中包括所有核心組件等。后者是微小的依賴關系集,僅包含所需的東西。 該示例僅使用bean和quartz2組件,因此您需要將它們添加為依賴項:

依賴關系樹如下(請注意,JAXB被排除在測試范圍之外)

[INFO] --- maven-dependency-plugin:3.1.1:tree (default-cli) @ camel-example-main-tiny --- [INFO] org.apache.camel.example:camel-example-main-tiny:jar:3.0.0-SNAPSHOT [INFO] +- org.apache.camel:camel-core-engine:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-api:jar:3.0.0-SNAPSHOT:compile [INFO] | | \- org.apache.camel:camel-util:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-management-api:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-support:jar:3.0.0-SNAPSHOT:compile [INFO] | \- org.apache.camel:camel-core:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.apache.camel:camel-base:jar:3.0.0-SNAPSHOT:compile [INFO] | \- org.apache.camel:camel-properties:jar:3.0.0-SNAPSHOT:compile [INFO] +- org.apache.camel:camel-main:jar:3.0.0-SNAPSHOT:compile [INFO] +- org.apache.camel:camel-bean:jar:3.0.0-SNAPSHOT:compile [INFO] +- org.apache.camel:camel-quartz2:jar:3.0.0-SNAPSHOT:compile [INFO] | +- org.quartz-scheduler:quartz:jar:2.3.1:compile [INFO] | | +- com.mchange:mchange-commons-java:jar:0.2.15:compile [INFO] | | \- com.zaxxer:HikariCP-java7:jar:2.4.13:compile [INFO] | \- com.mchange:c3p0:jar:0.9.5.4:compile [INFO] +- com.sun.xml.bind:jaxb-core:jar:2.3.0:test [INFO] +- com.sun.xml.bind:jaxb-impl:jar:2.3.0:test [INFO] +- org.apache.logging.log4j:log4j-api:jar:2.11.2:runtime [INFO] +- ch.qos.logback:logback-core:jar:1.2.3:compile [INFO] \- ch.qos.logback:logback-classic:jar:1.2.3:compile [INFO] \- org.slf4j:slf4j-api:jar:1.7.25:compile

如果我們比較兩個示例(包括logger等)中JAR的大小,則有:

  • camel-example-main(駱駝核心): 48個JAR文件,總計9.3 MB
  • camel-example-main-tiny(駱駝核心引擎): 21個JAR文件,總計7.4 MB

如果我們運行兩個示例,那么您還可以看到使用camel-core-engine時加載到JVM中的類的數量要少一些:

  • camel-example-main(camel-core): 加載了3666個類
  • camel-example-main-tiny(駱駝核心引擎): 加載了3430個類

好的,這里的減少不是那么明顯,但是可以預期,因為Camel將延遲使用正在使用的組件,并且該示例僅使用bean和石英組件。 但是,類路徑掃描會更快一些,因為磁盤大小大約減少了25%,JAR文件減少了50%。

Apache Camel 3還有很多其他很棒的東西,我將在今年夏天開始發布該博客之前發布博客(預計于2019年9月/ 10月發布)。

翻譯自: https://www.javacodegeeks.com/2019/06/camel-core-camel-core-engine-smaller-core.html

總結

以上是生活随笔為你收集整理的Apache Camel 3 –骆驼核心vs骆驼核心引擎(较小的核心)的全部內容,希望文章能夠幫你解決所遇到的問題。

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