Apache Camel 2.18发布–包含内容

本周发布了Apache Camel 2.18.0 。 此版本是重要版本,我将在此博客文章中重点介绍。

2018年

Java 8

Camel 2.18是要求Java 1.8的第一个发行版(例如,容易记住的Camel 2.18 = Java1.8。Camel2.17 = Java 1.7)。 我们采取了谨慎的方法,并保持了Camel API的向后兼容性,因为最终用户可以将现有的Camel应用程序源代码并用Java 1.8和Camel 2.18重新编译,因此您应该一切都很好。

在Camel源代码内部,我们已经开始使用Java 8 API来实现新功能。 现有功能仍在使用Java 7 API,因此我们可以轻松地将错误修复移植回旧版本。

我们还将Java 8 lambda / functional API引入了Java RouteBuilder,您可以在谓词和消息转换中使用它们。 您可以在github上查看一个小例子。

Spring启动器

自Camel 2.15以来,我们就一直支持Spring Boot,但是在此发行版中,我们精选了所有Camel组件以使其对齐并使其成为一流的Spring Boot启动器组件 。 这意味着您应该使用-starter作为依赖项,例如camel-kafka-starter。

Spring Boot自动配置

现在所有的Camel组件都会生成Spring Boot自动配置源代码,这意味着您可以使用Spring Boot配置来配置组件,数据格式,语言等。 例如,在application.properties文件中。 在编辑application.properties文件时,除了具有Spring Boot支持的IDEA,Eclipse等工具之外,还将具有代码完成功能。

SB自动

帮助实施的Nicola Ferraro发布了博客条目,其中包含更多详细信息。

Spring Boot运行状况检查

如果您使用的是执行器,则Apache Camel附带与Spring Boot集成的运行状况检查。 健康检查会进行粗粒度检查,以确保骆驼确实正确启动。 我们计划在Camel中实现更深的Health Check API,以允许各个组件参与检查。 例如,检查组件是否可以连接到远程系统等等。

野生飞群骆驼

WildFly Swarm项目还为Apache Camel提供了强大的支持。 然而,这种发展发生在野蝇骆驼项目上。 WildFly-Camel发布了支持骆驼2.18.0的版本4.3.0。

自动文档

我以前在博客中写道,我们正在努力从源代码中保存和生成Camel文档。 这意味着每个Camel组件,eip,语言,数据格式等都在源代码中记录了它们的选项,然后我们在构建过程中将其提取并保持随附的文档为最新。 我们已经将几乎所有文档从旧Wiki系统迁移到了源代码中的.adoc文件。 我们将继续进行此工作以完成下一个版本的发布,并将致力于建立一个新网站。

作为骆驼开发人员,您可能会认为这没什么大不了的,但实际上确实如此。 这样可以确保文档中所有选项始终都是100%最新。 它还允许工具在设计和运行时访问此信息。 hawtio可以在运行时显示有关所有端点的深层信息,并包括每个选项的文档,如下所示:

骆驼-豪多克医生

我们还有一个Maven插件 ,可以扫描您的所有源代码并报告无效的配置骆驼端点。 该插件目前托管在fabric8上 ,在这里我们可以更快地促进创新。 但是,当插件成熟时,我们计划将源代码捐赠给Apache Camel项目,以使其开箱即用。

XML XSD完整记录

用于Spring和Blueprint的XML XSD现在还包括有关您可以在外部路由上进行的配置的文档,例如on和其他全局配置。

FluentProducerTemplate

FluentProducerTemplate是其中一个较小但非常可爱的新功能,它使用流利的样式API作为客户端API来向Camel端点发送消息。 现在,您可以用

template().withBody("Hello World).withHeader("foo", 123").withHeader("bar", 456).to("jms:queue:beer").send();

休息生产者

Rest组件允许现在(作为客户端)调用REST服务,您可以在其中为HTTP传输选择以下骆驼组件之一:http,http4,netty4-http,jetty,restlet,undertow。 您还可以引用现有的swagger api文档,并在类路径中包含camel-swagger-java,以便将其余端点的自动验证配置为使用有效的rest操作/参数。

使用Hystrix进行断路

我们增加了对使用Netflixx Hystrix作为您的骆驼路线中的电路中断的原生支持。 有一个例子 。

下面是Spring Boot调用在WildFly Swarm上运行的服务的另一个示例 ,该服务在Kubernetes集群(或本地)上运行,我最近一直在谈论它。

public void configure() throws Exception {from("timer:foo?period=2000").hystrix().to("netty4-http:http://{{service:helloswarm}}/say").onFallback().setBody().constant("Nobody want to talk to me").end().log("${body}");}

Zipkin邮件跟踪

该版本还包括camel-zipkin,它允许使用zipkin进行分布式消息跟踪。 您可以通过提供的示例找到更多详细信息。

服务电话

服务呼叫EIP允许通过可插入服务注册表中的服务发现来呼叫远程服务。 例如,您可以使用etdc,consul,ribbon,kubernetes等产品。

新组件

与往常一样,每个发行版都包含许多新组件:

  • camel-asterisk –用于与Asterisk PBX服务器进行交互
  • camel-cm-sms –用于使用SM SMS网关发送SMS消息。
  • camel-consul –用于将您的应用程序与Consul集成。
  • camel-ehcache –用于与Ehcache 3缓存进行交互。
  • camel-flink –将Camel连接器与Apache Flink任务桥接。
  • camel-lumberjack –用于通过伐木工人协议接收日志(例如Filebeat使用)
  • camel-ribbon –将Netflixx Ribbon与Service Call EIP一起使用。
  • camel-servicenow –使用ServiceNow进行云管理。
  • camel-telegram –用于通过Telegram进行消息传递。
  • camel-zipkin –使用zipkin跟踪骆驼消息流/定时。
  • camel-chronicle –用于与OpenHFT的Chronicle-Engine进行交互。

新数据格式

我们还有一个新的数据格式:

  • camel-johnzon – Apache Johnzon是JSR-353(用于JSON处理的JavaTM API)的实现。

升级时的重要信息

Spring的旧版本(例如3.x和4.0.x)已删除。 ServiceMix / Karaf上的OSGi用户也应该使用Karaf4.x。 但是,它可以在某些较旧的Karaf版本上运行,但未得到官方支持。 下一版本肯定会删除对较早版本的支持。

使用Spring-DM的OSGi用户应安装camel-spring-dm模块,因为已经从camel-spring中删除了Spring DM。 现在需要Spring Boot1.4.x。

您可以在Camel发行说明中找到更多详细信息。

下一步是什么

我们将在Camel 2.19发行版上进行工作,在此方面我们可以进一步改进Camel 2.18发行版为我们带来Java 8的新途径。我们也希望完成文档的迁移并在新的网站上工作。 希望我们也能得到一个不错的徽标。

接下来是Camel 2.19,我们将开始使用Camel3.x。 但这将首先在骆驼社区中讨论。 但是,在今年余下的时间里,我们将专注于计划于2017年第一季度开始的Camel 2.19。

翻译自: https://www.javacodegeeks.com/2016/10/apache-camel-2-18-released-whats-included.html

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

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

相关文章

C# 中 FindControl 方法及使用

FindControl 的使用方法 FindControl (String id): 在页命名容器中搜索带指定标识符的服务器控件。(有点类似javascript中的getElementById(string)) 今天做了一个打印的报表 ,要求在指定位置显示列表中某字段的内容,…

matlab imresize对图像进行缩小放大

matlab中函数imresize简介: 函数功能:该函数用于对图像做缩放处理。 调用格式: B imresize(A, m) 返回的图像B的长宽是图像A的长宽的m倍,即缩放图像。 m大于1, 则放大图像; m小于1, 缩小图像。…

matlab imrotate图像旋转

B imrotate(A,angle) 将图像A(图像的数据矩阵,既可以是灰度图像,也可以是RGB图像)绕图像的中心点旋转angle度, 正数表示逆时针旋转, 负数表示顺时针旋转。返回旋转后的图像矩阵。 B imrotate(A,angle,met…

理解爬虫原理

1.简单说明爬虫原理 爬虫就是通过互联网各个沾点组成的节点网,通过代码返回给浏览器,然后解析这部分的代内容,将网页内的内容简洁地呈现在我们的面前。爬虫的流程可以分为:发送请求、获取响应内容、解析内容、保存数据。 2.使用 r…

带有Java DSL的Spring Integration MongoDB适配器

1引言 这篇文章解释了如何使用Spring Integration从MongoDB数据库中保存和检索实体。 为了实现这一点,我们将使用Java DSL配置扩展来配置入站和出站MongoDB通道适配器。 例如,我们将构建一个应用程序,使您可以将订单写入MongoDB存储&#xff…

matlab linspace

用法:linspace(x1,x2,N)   功能:linspace是Matlab中的一个指令,用于产生x1,x2之间的N点行矢量。其中x1、x2、N分别为起始值、中止值、元素个数。若缺省N,默认点数为100。在matlab的命令窗口下输入help linspace或者doc linspac…

Linux strace命令

简介 strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用…

网站发布

1.文件发布 右击工程,选择发布 发布方法选择文件发布,打开你的程式路径,然后一步步操作即可。 转载于:https://www.cnblogs.com/alannxu/p/10613453.html

什么是javax.ws.rs.core.context? [第4部分]

如何使用Context批注 在什么是javax.ws.rs.core.context的第3部分中? 您学习了如何在请求和配置,提供程序和应用程序实例中使用Context批注。 在本文中,您将学习如何使用Context批注注入HttpServletResponse和HttpServletRequest类。 获取对…

matlab im2double

im2double函数,如果输入是 uint8 unit16 或者是二值的logical类型,则函数im2double 将其值归一化到0~1之间。

重学前端(一)

前端知识框架:自己觉得很不错的一个前端知识框架 转载于:https://www.cnblogs.com/angel1254/p/10616065.html

couchbase_Couchbase:使用Twitter和Java创建大型数据集

couchbase在播放/演示Couchbase或任何其他NoSQL引擎时,创建大型数据集的一种简单方法是将Twitter feed注入数据库。 对于这个小应用程序,我正在使用: Couchbase Server 2.0服务器 Couchbase Java SDK (将由Maven安装&#xff0…

C编译器、链接器、加载器详解

一、概述 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作…

matlab bwdist

bwdist函数用于计算元素之间的距离。 举个例子: 如果a 0 0 0 0 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 0 0 那么: [D,L]bwdist(a); D 1.4142 1.0000 1.0000 1.0000 1.4142 1.0000 0 0 0 1.0000 1.0000 0 0 0 1.0000 1.0000 0 0 0 1.0000 1.4142 1.000…

js函数库-D3

推荐: https://www.cnblogs.com/createGod/p/6884629.html转载于:https://www.cnblogs.com/john-hwd/p/10616166.html

配置Ubuntu Server高速apt-get源

今天刚装上Ubuntu Server 12,默认的apt-get源比较慢。更改一下源地址。 方法: 1、修改源地址: cp /etc/apt/sources.list /etc/apt/sources.list.bak vim /etc/apt/sources.list 加入如下内容(中科大的): …

matlab find

find函数用于返回所需要元素的所在位置 (位置的判定:在矩阵中,第一列开始,自上而下,依次为1,2,3...,然后再从第二列,第三列依次往后数)find(A)返回矩阵A中非零元素所在位…

红黑树操作详解——很形象的过程

红黑树是一种很好的自平衡二叉排序树,在此,给出一个网友给出的红黑树操作详解: https://segmentfault.com/a/1190000012728513 里面给出了红黑树的详细操作,过程很形象!!! 结合可视化数据结构网…

地图事件触发_使用地图触发功能处理相干事件

地图事件触发本文介绍如何通过使用映射触发器来处理一致性事件。 基本上,建议使用Oracle Coherence中的分布式数据管理来研究Oracle Coherence API的基本配置和实现。 映射触发器是Oracle Coherence提供最高度定制的缓存管理系统的最重要功能之一。 MapTrigger表示…

C++ 内存对齐

注:本文代码测试环境为win7 X64 cpu, 编译器为gcc4.7.1 和 vs2010 内存对齐是编译器为了便于CPU快速访问而采用的一项技术 我们先从一个例子开始,对下面的类(或者结构体) class node { char c; int i; short s; }no; sizeof(no)的值是多少呢,…