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

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

今天,我想简短介绍一下我们已经完成的最新开发,因为我们准备在本周末或下半年准备好构建和发布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(
Camel 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值