apache.camel

我以前曾在博客中介绍过我们在下一个Camel 3.1版本中所做的优化

  • 博客第1部分
  • 博客第2部分

今天,我想简要介绍一下我们已经完成的最新开发,因为我们准备在本周末或下半年准备好构建和发布Camel 3.1。

从第2部分开始,我们设法在路由过程中将对象分配减少了10%。

我们还继续通过通过源代码生成的配置程序(直接执行Java方法调用与使用Java bean反射)配置Camel的工作。 现在,所有组件,数据格式,语言和EIP模式都已完成。 只有在更高级的用例中,配置基于动态配置的嵌套复杂对象,才在源代码configure和Camel fallback的范围之外,以使用反射。

我们还找到了一种优化EIP上的属性占位符分辨率的方法,从而避免使用源代码生成的配置程序,这意味着类路径上要加载的类减少了200个,并且节省了大约90kb的内存。 这很棒,因为这些类和内存仅在Camel引导期间使用,现在它们都消失了。

我们还设法进一步模块化了骆驼核心,因此JAXB和XML路由是可选的。

即使对于XML路由(不是Spring或Blueprint,因为它们具有自己的DOM XML解析器),我们也创建了一个替代的,快速且轻量级的基于pull的解析器。 camel-example-main-xml正在使用它,并且通过比较JAXB与Camel XML,然后使其速度提高了6倍(约1500毫秒与250毫秒),并且比JAXB少加载700个类。

但是,对于非XML用户(例如,使用Java DSL),则可以完全避免在类路径上使用JAXB,并且您可以使用小型Camel应用程序,例如带有以下依赖关系树的camel-example-main-tiny(
骆驼的JAR字体大胆; 该示例使用bean和计时器组件)

[INFO] org.apache.camel.example:camel-example-main-tiny:jar:3.1.0-SNAPSHOT

[INFO] +-org.apache.camel:camel-main:jar:3.1.0-SNAPSHOT:compile

[INFO] |

+-org.apache.camel:camel-api:jar:3.1.0-SNAPSHOT:compile

[INFO] |

+-org.apache.camel:camel-base:jar:3.1.0-SNAPSHOT:compile

[INFO] |

+-org.apache.camel:camel-core-engine:jar:3.1.0-SNAPSHOT:compile

[INFO] |

+-org.apache.camel:camel-management-api:jar:3.1.0-SNAPSHOT:compile

[INFO] |

+-org.apache.camel:camel-support:jar:3.1.0-SNAPSHOT:compile

[INFO] |

\-org.apache.camel:camel-util:jar:3.1.0-SNAPSHOT:compile

[INFO] +-org.apache.camel:camel-bean:jar:3.1.0-SNAPSHOT:compile

[INFO] +-org.apache.camel:camel-timer:jar:3.1.0-SNAPSHOT:compile

[INFO] +-org.apache.logging.log4j:log4j-api:jar:2.13.0:compile

[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.30:compile

我使用探查器运行了该示例,并将其配置为使用10MB作为最大堆(-Xmx10M),并且摘要显示了可以轻松完成此操作。 堆中使用了大约5mb。


默认情况下,还可以进行其他一些较小的改进来避免使用基于Camel 2.x的类型转换器扫描。 这样可以减少对类路径的扫描。

好了,现在该结束本系列博客并完成最后几篇文章的时间,以便我们发布Camel 3.1。

翻译自: https://www.javacodegeeks.com/2020/02/apache-camel-3-1-more-camel-core-optimizations-coming-part-3.html

apache.camel

apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第3部分)相关推荐

  1. apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第2部分)

    apache.camel 我以前曾在博客中介绍我们在下一个Camel 3.1版本(第1部分)中所做的优化 . 今天,我想发布大约4周后的状态更新. 我们集中在三个方面优化骆驼核心: 不必要的对象分配 ...

  2. Apache Camel 3.1 –更多骆驼核心优化(第3部分)

    我以前曾在博客中介绍过我们在下一个Camel 3.1版本中所做的优化 博客第1部分 博客第2部分 今天,我想简短介绍一下我们已经完成的最新开发,因为我们准备在本周末或下半年准备好构建和发布Camel ...

  3. Apache Camel 3.1 –更多骆驼核心优化(第2部分)

    我以前曾在博客中介绍我们在下一个Camel 3.1版本(第1部分)中所做的优化 . 今天,我想发布大约4周后的最新状态更新. 我们集中在三个方面优化骆驼核心: 不必要的对象分配 不必要的方法调用 提高 ...

  4. apache.camel_Apache Camel 3.1 –即将推出更多骆驼核心优化

    apache.camel 希望一切都很好,您可以安全进入2020年. Camel团队已经在忙于开发下一个Camel 3.1版本. 目标之一是继续优化骆驼核心,这一次我们花了一些时间来寻找路由引擎中的一 ...

  5. Apache Camel 3.1 –即将推出更多骆驼核心优化

    希望一切都很好,您可以安全进入2020年. Camel团队已经在忙于开发下一个Camel 3.1版本. 目标之一是继续优化骆驼核心,这一次我们花了一些时间来寻找路由引擎中的一些热点. 我们所研究的方面 ...

  6. apache.camel_Apache Camel 2.14中的更多指标

    apache.camel Apache Camel 2.14将于本月晚些时候发布. 由于正在解决某些Apache基础结构问题,因此存在一些问题. 这篇博客文章讨论的是我们添加到此版本中的新功能之一. ...

  7. apache.camel_Apache Camel K 1.0在这里–您为什么要关心

    apache.camel 昨天我们发布了Apache Camel K 1.0,并在社交媒体和Camel网站上宣布了该版本. 那么,骆驼K是什么,为什么你要在乎呢? 这是一个很好的问题,我想通过提及伟大 ...

  8. apache.camel_Apache Camel 2.19发布–新增功能

    apache.camel Apache Camel 2.19于2017年5月5日发布,大约在一段时间后,我做了一个小博客,介绍了该版本包含的值得注意的新功能和改进. 这是值得注意的新功能和改进的列表. ...

  9. apache camel_Apache Camel –从头开始开发应用程序(第1部分/第2部分)

    apache camel 开始之前 前段时间,我写了一篇关于Spring Integration的教程,以演示如何在受现实发票处理系统启发的示例应用程序中使用Spring Integration. 我 ...

最新文章

  1. c/c++ 拷贝控制 构造函数的问题
  2. 一个丧心病狂的Github项目:东北话编程,大写的服!
  3. 分享:python,限制任意函数,线程的执行时间或根据条件终止.
  4. 25个视频神同步,还能给视频声音移花接木,谷歌开源最新自监督算法
  5. 京东的热点key探测系统发布,单机 QPS 提升至 37 万
  6. 小程序的项目结构设计
  7. lisp xy轴不等比缩放_不就是用Python做个动态图吗?看招
  8. CRM Fiori Application top N Opportunity
  9. cursor: mutex S等待事件
  10. Java关键字:synchronized
  11. 软件工程大一至大四课程
  12. 网络术语还在困扰你吗?
  13. 电脑截gif动图软件
  14. 百词斩不复习_不背单词,墨墨背单词和百词斩哪个好啊?
  15. 数学 - 基本初等函数导数公式及求导法则
  16. OLYMP‘ARTS 2023奥艺大会中国推介会在北京盛大举行
  17. DRA821 环境搭建
  18. HTML5与CSS3中鼠标悬停会有下拉列表
  19. (转)VC IMM/IME输入法编程
  20. VS2012C语言有编译按钮在哪,VS2012的使用

热门文章

  1. P1850 [NOIP2016 提高组] 换教室
  2. Take Your Seat Gym - 102222D
  3. Music Problem
  4. P3321-Apple Tree【树状数组】
  5. C++STL(set……)
  6. Codeforces Round #671 (Div. 2)
  7. springboot手动提交kafka offset
  8. Java多线程面试问题
  9. JDK8的排序大法!!
  10. 数据结构(二)之链表反转