apache.camel_Apache Camel 2.18发布–包含内容

apache.camel

本周发布了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服务,您可以在其中选择以下Camel组件之一进行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的新途径。我们也希望完成文档的迁移并在新的网站上工作。 希望我们也能得到一个不错的徽标。

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

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

apache.camel

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

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

相关文章

html文件上传删除,文件上传以及删除文件方法

文件上传公共方法1.[代码][Java]代码import java.io.File;import java.util.Date;import javax.servlet.http.HttpServletRequest;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.multipart.MultipartFile;/*** 文件上传公共方法** a…

tomcat服务器通过配置来部署程序

打开 tomcat 的 conf 目录下 server.xml 文件&#xff08;例如&#xff1a;E:\apache-tomcat-6.0.14\conf\server.xml&#xff09;&#xff0c;找到 <Host> 标签&#xff0c;在 <Host> 标签体中找到 <Context> 标签&#xff08;如果没有自己创建&#xff09;…

cors跨域_Spring Boot 中通过 CORS 解决跨域问题

(给ImportNew加星标&#xff0c;提高Java技能)转自&#xff1a;江南一点雨今天和小伙伴们来聊一聊通过CORS解决跨域问题。同源策略很多人对跨域有一种误解&#xff0c;以为这是前端的事&#xff0c;和后端没关系&#xff0c;其实不是这样的&#xff0c;说到跨域&#xff0c;就不…

逻辑建模与物理建模_架构层和建模域逻辑

逻辑建模与物理建模在讨论用于建模域逻辑&#xff08;例如事务脚本&#xff0c;表模块&#xff0c;域模型&#xff09;的PoEAA模式时&#xff0c;我注意到人们对域模型模式是最好的印象&#xff08;尽管印象不对&#xff09;。 因此&#xff0c;他们开始将其应用于所有内容。 …

Oracle10g 创建表空间/用户

文章目录如何创建表空间创建数据库创建用户的具体过程关于表空间的其它命令语句如何创建表空间 1、为什么要创建表空间&#xff1f; 答&#xff1a;在建立用户的时候&#xff0c;我们建议数据库管理员要指定用户的默认表空间。因为我们在使用 Create 语句创建数据库对象&…

html文字列表,文字列表模板

文字列表模板1、如何编辑列表模板文字列表模板存放在模板包archive文件夹中&#xff0c;命名以list_text为前缀在模板包中找到list_text.html 模板&#xff0c;复制另存为一个新模板&#xff0c;命名为list_text_自定义名称.html自定义名称可以是英文或拼音&#xff0c;但不能用…

inputstreamreader未关闭会导致oom_Linux内核OOM机制分析和防止进程被OOM杀死的方法...

问题描述Linux 内核有个机制叫 OOM killer(Out-Of-Memory killer)&#xff0c;该机制会监控那些占用内存过大&#xff0c;尤其是瞬间很快消耗大量内存的进程&#xff0c;为了防止内存耗尽而内核会把该进程杀掉。典型的情况是&#xff1a;某天一台机器突然 ssh 远程登录不了&…

kafka streams_Kafka REST Proxy for MapR Streams入门

kafka streams介绍 MapR生态系统软件包2.0&#xff08;MEP&#xff09;随附了一些与MapR流有关的新功能&#xff1a; 用于MapR Streams的Kafka REST代理为MapR Streams和Kafka集群提供RESTful接口&#xff0c;以使用和生成消息并执行管理操作。 Kafka Connect for MapR Strea…

JSP 活动元素 <jsp:directive.pageimport=“zero.space.ch03.Bookbean“/> 解读

<jsp:directive.pageimport"zero.space.ch03.Bookbean"/> 是 JSP 的活动元素&#xff0c;其作用相当于 JSP 指令 <% page import"zero.space.ch03.Bookbean" %> 但是也有区别&#xff1a; 两个用法的作用范围不同&#xff0c;<% page impo…

centos一键清理磁盘空间_如何清理 Docker 占用的磁盘空间

Docker 很占用空间&#xff0c;每当我们运行容器、拉取镜像、部署应用、构建自己的镜像时&#xff0c;我们的磁盘空间会被大量占用。如果你也被这个问题所困扰&#xff0c;咱们就一起看一下 Docker 是如何使用磁盘空间的&#xff0c;以及如何回收。docker 占用的空间可以通过下…

计算机基础应用形考5access答案,计算机应用基础形考作业五答案.doc

1 对关系模型叙述错误的是()。选择一项&#xff1a;用二维表表示关系模型是其一大特点建立在严格的数学理论&#xff0c;集合论和谓词演算公式的基础之上微机 DBMS 绝大部分采取关系数据模型不具有连接操作的 DBMS 也可以是关系数据库系统正确答案是&#xff1a;建立在严格的数…

mongodb dsl_具有Java DSL的Spring Integration MongoDB适配器

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

python工作方法_用python开始一天工作

run1pm.py 全部源码 python #!D:\appsoft\python\python.exe # -* - coding: UTF-8 -* - import os import sys import time # # 启动: # 1)run1pmEn.py # 退出: # 1) run1pmEn.py quit # # _tARG1start # start quit if len(sys.argv)>1 and sys.argv[1]quit: _tARG1sys.…

Oracle 数据库中较为复杂或典型的 SQL 语句的解读

文章目录批量生成 SQL 语句/拼接字符串多表关联查询 where 子句示例&#xff08;一&#xff09;示例&#xff08;二&#xff09;普通的表间内连接查询语句关键字 distinct 用法说明Oracle 数据库的分组排序查询Oracle 数据库 cast 函数Oracle 数据库 sum 函数的高级用法Oracle…

html ios视频播放器,良心推荐!iOS端的视频播放应用

不知道大家还记不记得之前小编我推荐的最好用的iOS音乐播放器&#xff0c;如果没看过&#xff0c;可以点击这里。既然之前介绍了一款iOS端的音乐播放器给大家&#xff0c;那么今天就介绍一款iOS端十分好用的万能解码的视频播放器。使用iPhone的用户都明白&#xff0c;iPhone自带…

私有方法与静态私有方法_每个私有静态方法都是新类的候选人

私有方法与静态私有方法您是否有私有的静态方法来帮助您将算法分解为更小的部分&#xff1f; 我做。 每当我编写一个新方法时&#xff0c;我就会意识到它可以是一个新类。 当然&#xff0c;我不会从所有课程中选修课程&#xff0c;但这必须是目标。 私有静态方法不可重用&#…

c语言插入排序_还有这种操作?C语言插入排序算法,一点就透

插入排序算法是所有排序方法中最简单的一种算法&#xff0c;其主要的实现思想是将数据按照一定的顺序一个一个的插入到有序的表中&#xff0c;最终得到的序列就是已经排序好的数据。更多C/C资料群文件&#xff1a;569268376直接插入排序是插入排序算法中的一种&#xff0c;采用…

Mac 如何操控远程的 Windows 电脑

文章目录使用 Remote Desktop Connection for mac 客户端第 1 步&#xff1a;Windows 电脑进行远程设置第 2 步&#xff1a;Windows 电脑设置管理员账号和密码第 3 步&#xff1a;获取 Windows 电脑的 IP 地址第 4 步&#xff1a;Mac 电脑安装远程桌面连接客户端第 5 步&#x…

map iterator_一个简单的Map Iterator性能测试

map iteratorJava Map性能有很多方面可以衡量&#xff0c;但是关键的一个是简单的单线程扫描。 这是一些针对Iterators和Java 8 Map.forEach()简单测试代码&#xff0c;以及一些图形结果。 1.性能测试困难 性能测试是一项非常困难的工作&#xff0c;精确的可重复性测试需要Jav…

学生用计算机中sto,STO 文件扩展名: 它是什么以及如何打开它?

STO 疑难解答常见的 STO 打开问题Ecru Software PRO100 不存在你尝试加载 STO 文件并收到错误&#xff0c;例如 “%%os%% 无法打开 STO 文件扩展名”。 如果是这种情况&#xff0c;通常是因为 你的计算机上没有安装 Ecru Software PRO100 for %%os%%。 由于您的操作系统不知道如…