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

apache.camel

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

这是值得注意的新功能和改进的列表。

1. Spring Boot的改进

Camel 2.19版本已针对Spring Boot进行了许多改进。 例如,所有Camel组件现在都在其Spring Boot元数据文件中包含更多详细信息,以进行自动配置。 这意味着工具现在可以显示您可能使用的每个组件,语言和数据格式上所有选项的默认值,文档等,并在application.properties或.yml文件中进行配置。

该发行版也是最新的Spring Boot 1.5.3发行版。 某些组件已改进了自动配置,使其更易于使用,例如camel-servlet,您可以在其中轻松地从application.properties文件设置上下文路径。 我们还提供了在CamelContext上配置更多选项的功能,因此您可以调整JMX,流缓存和许多其他选项。

2.骆驼目录的改进

骆驼目录现在包含该发行版中每个工件的细粒度细节,也包括其他种类的骆驼-hystrix,camel-cdi等。

现在,目录还包括所有以ascii doc和html格式提供的文档。 该目录为Spring Boot和Karaf运行时提供了专门的提供程序,使工具可以知道可以在这些运行时上使用哪些Camel工件。

Camel项目使用目录本身,因此我们现在使用它自动生成并保留网站上所有工件以及添加每个工件的完整列表。 因此,您可以查看它是在此发行版中还是在Camel 2.17等中引入的新工件。

在骆驼核心RuntimeCamelCatalog中提供了CamelCatalog的专用运行时版本,使您可以在运行Camel时使用目录。 离线目录是骆驼目录,完全独立。

3. Camel Maven插件现在可以验证

camel-maven-plugin上有一个新的验证目标,该目标使您可以检查源代码并验证所有Camel端点和简单表达式是否具有无效的配置或选项。 我以前有
关于此的博客 。

4.自动重新加载XML文件

如果您在XML文件中开发Camel路由,则现在可以打开自动重载,因此Camel将监视XML文件中的更改,然后动态地自动更新路由。 我以前有
博客并记录了此视频 。

5.服务呼叫EIP的改进

Luca一直在购买以改善服务呼叫EIP,以便与Camel一起在云上(例如kubernetes或spring-boot-cloud)更好,更轻松地工作。

Luca 最近对此发表了博客。

6.调用REST服务更容易

如果您想使用Camel来调用RESTful服务,那么现在就变得更容易了,因为我们在Rest DSL上添加了生产方。 这意味着您可以使用rest组件调用REST服务,该组件可以插入并使用Camel中的任何基于HTTP的组件,例如restlet,http4,undertow等。

有关更多信息,请参见rest-producer示例 。 我们还添加了一个新的camel-swagger-rest组件,该组件使调用Swagger REST API变得更加容易,您可以在其中引用其操作ID,然后让Camel自动映射到其API。

有关更多信息,请参见rest-swagger示例和rest-swagger文档 。

7. CDI与JEE交易

camel-cdi组件现在支持JEE事务,因此您可以立即使用它,而不必再依赖Spring事务。

8.改进了示例文档

现在,我们将生成一个包含所有示例的表格,并按类别进行排序。 这使用户可以找到初学者的示例,休息的示例,云计算等。还可以确保将来保留示例的更好文档,因为如果我们有没有文档的示例,则生成器工具将警告。

此外,所有示例都有一个自述文件,其中包含有关示例以及如何运行的信息。

9. Spring Cloud组件

有新的Camel组件与Spring Cloud和Spring Cloud Netflix集成。 这样可以轻松地将ServiceCall EIP或Hystrix EIP与Spring Cloud Netflix一起使用,或者仅将Camel与Spring Cloud一起使用。 您可以在
例子

10.卡夫卡改进

camel-kafka组件已得到改进,可以更直观地工作。 不幸的是,这意味着uri语法以向后不兼容的方式进行了更改。 因此,如果您要升级,请确保更改您的uri。 但是,新语法类似于使用kafka:topicName?opt​​ions的其他消息传递组件的处理方式。

现在,该组件还可以立即自动转换为kafka序列化器和解串器,因此您不必为此烦恼。 我们提供了通常使用的转换,例如byte []和字符串类型。

该组件也已升级到最新的Kafka版本,现在可以离线存储偏移状态,因此,如果停止并稍后启动应用程序,则可以从此偏移中恢复。

它也更容易配置和使用可作为标头值提供的自定义键和分区键。

并且有一个新的Kafka幂等存储库 。

11.航线合同

我们已经添加了初始支持,以便能够为Camel路由指定传入和传出类型(在Camel中称为“转换器和验证器”)。 然后,这将允许Camel在运行时和Camel开发人员都知道路由期望将哪些有效负载作为输入以及返回的内容。 例如,您可以指定路由采用XML并返回JSon。 借助XML,您甚至可以指定名称空间。 同样,您可以为POJO类指定Java类型。 基于这些合同,Camel能够在运行时自动在需要时在这些类型之间自动键入消息有效负载(如果可能)。

我们将继续在这方面进行更多改进。 例如,我们希望可以向Camel组件中添加此类功能,以便它们能够提供此类信息,从而使您的Camel路由在路由过程中的消息有效负载更加类型安全。

并且工具也将能够利用这种形式,然后例如“标记”用户有关路线不兼容的提示等。

您可以在本示例 (以及CDI和XML)和文档中找到更多详细信息。

12.活性骆驼

有一个新的骆驼-React流组件,使Camel与React流API一起发挥了一流的作用,因此您可以轻松地在React流中使用Camel组件,或从您的Camel路由中调用流。

在下一个发行版中,作品中有一个camel-rx2组件,它通过流行的RxJava 2框架改进了对Camel的支持。

对于想要与vert.x一起使用react的用户,则在两个项目中都有一个camel-vertx和vertx-camel-bridge组件。 我们计划将它们合并在一起,并在将来有空时将它们各自的最佳功能融合在一起。 但是,Claus正在与vert.x团队进行此讨论。

您可以在此示例中找到更多信息。 《 行动中的骆驼》第二版包含整章21章,涵盖了所有这些内容。

13. Java 8 DSL改进

而在我脑海中,对Java 8 DSL进行了一些改进,可以在您的Camel路由和EIP中使用更多Java 8 lambda和功能样式。 当我们发现对于精通Java 8的用户而言,EIP变得更加出色时,我们将不时继续改进这一点。 我们也在寻求这方面的反馈,因此,如果您深陷Java 8风格,那么可以帮助我们确定可以改进DSL的地方。

14.骆驼连接器

我们引入了一个名为Camel Connector的新概念。 但是,它仍处于早期阶段,我们将在接下来的几个版本中进一步改进和完善Camel连接器。

简短的故事是,骆驼连接器是经过专门配置且经过预先配置的骆驼组件,可以
一件事一件事 。 例如,如果您需要知道何时有人在Twitter上提及您,则可以使用camel-twitter组件。 但是它可以做10件事,并且可能需要一些时间来了解如何使用该组件并使之正常工作。 因此,您可以构建一个可以做到这一点的连接器,即骆驼推子提及连接器。 它是预先构建的,并配置为可以执行此操作。 因此,您所需要做的就是配置您的Twitter凭据,然后就可以使用了。 在运行时,连接器是Camel组件,因此从Camel的角度来看,它们都是组件,因此在Camel中它是一流的。

我们在源代码中提供了一些连接器示例 。

15.更多组件

像往常一样,每个Camel版本中都有很多新组件,而这次我们有大约20个新组件。 您可以在
发行说明 ,或在Camel组件网站上按2.19发行号进行搜索。

例如,有一个骆驼开放式跟踪组件,允许将Camel与分布式跟踪一起使用。 Gary Brown对此发表了博客 。

Jens Reimann在博客中还介绍了一些用于物联网的骆驼新组件,例如camel-milo。

您可以在发行说明中找到许多其他较小的改进。 例如,jsonpath语言现在允许使用嵌入式简单语言,并且您可以使用更简单的语法定义谓词,而无需太多令人困惑的jsonpath标记,以防万一您只想说order.customer.id> 1000等。

翻译自: https://www.javacodegeeks.com/2017/05/apache-camel-2-19-released-whats-new.html

apache.camel

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335201.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

头条号个人中心登录_头条号平台上线「插入小程序」功能

头条号平台上线「插入小程序」功能,创作者可在图文、小视频和自定义菜单中插入头条小程序,帐号服务能力和变现能力进一步提升。一、什么是「头条小程序」?「头条小程序」是为内容生产者提供的延伸变现工具,是对创作者内容服务的延…

stearm计算机验证码,steam账户名称怎么取,值得收藏

steam是计算机游戏界最大的数码发行平台,是一个游戏整合下载平台,很多喜欢玩游戏的朋友都会用这个软件,当然也不少刚开始使用这个软件的朋友,这些朋友因为才刚刚接触到这个软件所以不知道steam账户名称怎么取,不要担心…

macOS下配置环境变量/查看环境变量

文章目录macOS 下环境变量的配置文件解决环境变量在 zsh shell 无效的问题查看 macOS 全部环境变量设置系统环境变量设置用户环境变量macOS 下环境变量的配置文件 a. /etc/paths b. /etc/profile c. ~/.bash_profile d. ~/.bash_login e. ~/.profile f. ~/.bashrc /etc/…

jpa一级缓存和二级缓存_了解一级JPA缓存

jpa一级缓存和二级缓存我敢打赌,每个Java开发人员至少都听说过L1(又名EntityManager或Session)缓存。 但是您的理解水平足够好吗? 如果不确定,请考虑阅读这篇文章。 首先,我们需要知道持久性上下文是什么。…

造完家怎么拆东西_地弹簧玻璃门怎么拆?地弹簧玻璃门拆除注意事项有哪些?...

现如今,我们总可以看到玻璃门的身影,在我们的生活中,玻璃门可以说是随处可见。而对于安装玻璃门,大家了解多少呢?为了更好认识玻璃门,今天就带大家一起走进玻璃门的安装中,告诉大家怎么样拆卸和组装玻璃门…

dubbo provider异步_Dubbo学习(六) Dubbo面试问题

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务&#xff0c…

测试网页兼容软件,WEB测试兼容性

软件兼容性测试在目前软件测试领域占有很只要的地位,无论B/S架构还是C/S架构的软件都需要进行兼容性测试,充分保证产品的平台无关性,使用户群充分的感受到软件的友好。139WDA属于WEB产品,以下就来总结下WEB测试之兼容性测试。WEB兼…

Oracle/MySQL数据库的表间关联查询_多表关联查询的SQL语句详解

文章目录内连接 inner join示例外连接 outer joinleft outer join 左外连接示例right outer join 右外连接示例full outer join 全外连接示例外连接总结内连接 inner join 内连接又称为等值连接,语法结构: 表1 inner join 表2 on 条件 -- inner可以省略…

tf 矩阵行和列交换_TF-搞不懂的TF矩阵加法

看谷歌的demo mnist,卷积后加偏执量的代码h_conv1 tf.nn.relu(conv2d(x_image, W_conv1) b_conv1)h_pool1 max_pool_2x2(h_conv1)其中的x_image的维数是[-1, 28, 28, 1],W_conv1的维数是[5, 5, 1, 32], b的维数是[32]conv2d对x_image和W_conv1进行卷积…

kafka数据到flume_大数据摄取:Flume,Kafka和NiFi

kafka数据到flume初赛 在构建大数据管道时,我们需要考虑如何吸收出现在通常是Hadoop生态系统大门口的数据量,多样性和速度。 在决定采用哪种工具来满足我们的要求时,诸如可伸缩性,可靠性,适应性,开发时间成…

python如何打开json文件_如何使用python打开json文件?

工程_请求数据.json公司名称:{ "appKey": "9c9fa7201e90d3d96718bc3f36ce4cfe1781f2e82f4e5792996623b3b474fee2c77699eb5354f2136063e1ff19c378f0f6dd984471a38ca5c393801bffb062d6", "appId": "NMDPTRIAL_AutomotiveTesting_N…

手机热点总是正在连接服务器,手机热点用不了?可以尝试这个方法。

原标题:手机热点用不了?可以尝试这个方法。下班路上,上司突然打来“夺命连环call”,早上的方案需要赶紧改一下。无奈,只能拿出笔记本在地铁上临时办公,关键时候连接手机热点,却发现还是没网络。…

一年月份大小月口诀_大月小月口诀 什么意思 有多少天

大家都知道每年都有分为12个月,月份又被分为大月小月和平月,每种月份的天数都不一样,有许多人记不住哪些是大月,哪些是小月。其实大月小月是有口诀的,接下去就让老黄历带大家详细了解一下大小月的口诀以及天数吧。问&a…

Sublime Text for Mac 最新版安装后,无法搜索到Install Package的解决办法

打开命令面板搜索不到Install Package,说明没有安装Package Control。 如何安装Package Control? 首先打开Package Control中文镜像,打开后如下图所示: 点击「Install Now」后,如下图所示: 我们看到有两…

参数化测试 junit_使用JUnit 5进行更清洁的参数化测试

参数化测试 junit参数化单元测试的总体思路是对不同的数据运行相同的测试方法。 在JUnit 4中创建参数化测试远非完美。 现有体系结构存在许多问题:将参数定义为类字段,并需要使用构造函数来创建它们,参数化和非参数化测试不能混合在一个测试类…

python人工智能方向第三方库_Python进阶-第三方库管理和虚拟环境

本文为《爬着学Python》系列第十三篇文章。Python能在这几年火起来,靠的不是网上一大片的爬虫和服务器后端知识的应用(本专题就是这样的,这么说真的好吗?不过我们总得认清事实是吧。),靠的是Python搭上了大数据和人工智能的风。而…

tomcat应用服务器有哪些,手写一个Tomcat应用服务器

mytomcat项目简介自己实现的简易的TomcatTomca实现说明Tomcat,这只3脚猫,大学的时候就认识了,直到现在工作中,也常会和它打交道。这是一只神奇的猫,我们可以通过实现它来深刻了;了解它的实现原理。考虑自己…

不需要软著的安卓应用市场_哪些安卓应用市场上架应用比较简单啊,不需要软著啊?公司开发的 APP 着急上架...

ENNRIaaa:我看华为、360 、应用宝都需要软著kerb15:酷安?yuluo01:推广到位,网站下载都可以一个很冷门的领域,佛教 Appavalon8:我姐夫,佛教文化爱好者,研究佛教相关资料几…

SublimeText如何让代码的关键字高亮显示

如何设置不同语法的关键字高亮显示 假设你编写java代码,希望代码关键字高亮显示,你可以在菜单栏中选择「查看」-「语法」-「java」,勾选java即可,如下图: 当然,你也可以在页面右下角点击打开语法类型列表…

stringbuffer_StringBuffer的存在的含义

stringbuffer当我处理旧代码并在StringBuffer实例上运行时,通常将它们替换为StringBuilder实例。 尽管可以从此更改中获得性能优势,但我经常在我所知不会对性能产生明显影响的地方进行更改。 我认为,除了可能带来性能收益外,还应出…