apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第3部分)
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部分)相关推荐
- apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第2部分)
apache.camel 我以前曾在博客中介绍我们在下一个Camel 3.1版本(第1部分)中所做的优化 . 今天,我想发布大约4周后的状态更新. 我们集中在三个方面优化骆驼核心: 不必要的对象分配 ...
- Apache Camel 3.1 –更多骆驼核心优化(第3部分)
我以前曾在博客中介绍过我们在下一个Camel 3.1版本中所做的优化 博客第1部分 博客第2部分 今天,我想简短介绍一下我们已经完成的最新开发,因为我们准备在本周末或下半年准备好构建和发布Camel ...
- Apache Camel 3.1 –更多骆驼核心优化(第2部分)
我以前曾在博客中介绍我们在下一个Camel 3.1版本(第1部分)中所做的优化 . 今天,我想发布大约4周后的最新状态更新. 我们集中在三个方面优化骆驼核心: 不必要的对象分配 不必要的方法调用 提高 ...
- apache.camel_Apache Camel 3.1 –即将推出更多骆驼核心优化
apache.camel 希望一切都很好,您可以安全进入2020年. Camel团队已经在忙于开发下一个Camel 3.1版本. 目标之一是继续优化骆驼核心,这一次我们花了一些时间来寻找路由引擎中的一 ...
- Apache Camel 3.1 –即将推出更多骆驼核心优化
希望一切都很好,您可以安全进入2020年. Camel团队已经在忙于开发下一个Camel 3.1版本. 目标之一是继续优化骆驼核心,这一次我们花了一些时间来寻找路由引擎中的一些热点. 我们所研究的方面 ...
- apache.camel_Apache Camel 2.14中的更多指标
apache.camel Apache Camel 2.14将于本月晚些时候发布. 由于正在解决某些Apache基础结构问题,因此存在一些问题. 这篇博客文章讨论的是我们添加到此版本中的新功能之一. ...
- apache.camel_Apache Camel K 1.0在这里–您为什么要关心
apache.camel 昨天我们发布了Apache Camel K 1.0,并在社交媒体和Camel网站上宣布了该版本. 那么,骆驼K是什么,为什么你要在乎呢? 这是一个很好的问题,我想通过提及伟大 ...
- apache.camel_Apache Camel 2.19发布–新增功能
apache.camel Apache Camel 2.19于2017年5月5日发布,大约在一段时间后,我做了一个小博客,介绍了该版本包含的值得注意的新功能和改进. 这是值得注意的新功能和改进的列表. ...
- apache camel_Apache Camel –从头开始开发应用程序(第1部分/第2部分)
apache camel 开始之前 前段时间,我写了一篇关于Spring Integration的教程,以演示如何在受现实发票处理系统启发的示例应用程序中使用Spring Integration. 我 ...
最新文章
- c/c++ 拷贝控制 构造函数的问题
- 一个丧心病狂的Github项目:东北话编程,大写的服!
- 分享:python,限制任意函数,线程的执行时间或根据条件终止.
- 25个视频神同步,还能给视频声音移花接木,谷歌开源最新自监督算法
- 京东的热点key探测系统发布,单机 QPS 提升至 37 万
- 小程序的项目结构设计
- lisp xy轴不等比缩放_不就是用Python做个动态图吗?看招
- CRM Fiori Application top N Opportunity
- cursor: mutex S等待事件
- Java关键字:synchronized
- 软件工程大一至大四课程
- 网络术语还在困扰你吗?
- 电脑截gif动图软件
- 百词斩不复习_不背单词,墨墨背单词和百词斩哪个好啊?
- 数学 - 基本初等函数导数公式及求导法则
- OLYMP‘ARTS 2023奥艺大会中国推介会在北京盛大举行
- DRA821 环境搭建
- HTML5与CSS3中鼠标悬停会有下拉列表
- (转)VC IMM/IME输入法编程
- VS2012C语言有编译按钮在哪,VS2012的使用