linux打包网站做备份,网站建设公司薪酬,张家口建站优化,电影网站制作我以前曾在博客中介绍过我们在下一个Camel 3.1版本中所做的优化 博客第1部分 博客第2部分 今天#xff0c;我想简短介绍一下我们已经完成的最新开发#xff0c;因为我们准备在本周末或下半年准备好构建和发布Camel 3.1。 从第2部分开始#xff0c;我们设法在路由过程中将… 我以前曾在博客中介绍过我们在下一个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 Camel JAR粗体 该示例使用Bean和计时器组件 [INFO] org.apache.camel.examplecamel-example-main-tinyjar3.1.0-SNAPSHOT [INFO] -org.apache.camelcamel-mainjar3.1.0-SNAPSHOTcompile [INFO] | -org.apache.camelcamel-apijar3.1.0-SNAPSHOTcompile [INFO] | -org.apache.camelcamel-basejar3.1.0-SNAPSHOTcompile [INFO] | -org.apache.camelcamel-core-enginejar3.1.0-SNAPSHOTcompile [INFO] | -org.apache.camelcamel-management-apijar3.1.0-SNAPSHOTcompile [INFO] | -org.apache.camelcamel-supportjar3.1.0-SNAPSHOTcompile [INFO] | \-org.apache.camelcamel-utiljar3.1.0-SNAPSHOTcompile [INFO] -org.apache.camelcamel-beanjar3.1.0-SNAPSHOTcompile [INFO] -org.apache.camelcamel-timerjar3.1.0-SNAPSHOTcompile [INFO] -org.apache.logging.log4jlog4j-apijar2.13.0compile [INFO] -ch.qos.logbacklogback-corejar1.2.3compile [INFO] \-ch.qos.logbacklogback-classicjar1.2.3compile [INFO] \-org.slf4jslf4j-apijar1.7.30compile 我使用探查器运行了该示例并将其配置为使用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