令人印象深刻的第一个Apache Camel版本
Apache Camel 1.0 – 5年前 |
我看的越多,这个版本的事实给我留下了深刻的印象。 现在您必须考虑这是5年前完成的,在此版本中,骆驼创始人已经在项目的DNA中
- Java DSL
- XML DSL(使用Spring)
- 路线图上的OSGi
- 660kb的骆驼核心JAR
- 18个外部组件(+骆驼核心组件)
- 2个工作实例
- 完整的网站,包括文档,包括常见问题解答
- 项目徽标和包装盒
- Camel Maven插件可轻松运行Camel及其示例
- 测试套件
以下是此版本的tar球分布的屏幕截图:
Camel 1.0发行版(在pom.xml中提示OSGi野心) |
当您听到詹姆斯谈论过去以及他如何创造骆驼时,他的野心就是骆驼不应该束缚您。 如果要使用Java而不是XML,则可以。 如果您使用的是Spring XML旅行车,那就很好。 如果您对Groovy感兴趣,那么很好,如果您想使用Ruby,那就去吧(在Camel 1.3中添加了受支持的Ruby)。
让我们看一下DSL的通道。 Apache Camel最有可能是第一个在其第一版中即开即用地提供多种语言DSL的集成项目。 它只是项目的DNA,而正是IMHO Apache Camel在其他项目中脱颖而出的原因–多元而充满活力的社区以及Camel项目的DNA都“不适合所有人”。
因此,让我们看一下使用Java DSL的示例。 如今,使用最新的Camel版本(例如2.9.2)的人们应该立即熟悉DSL –某些东西从一开始就起作用!
Camel 1.0中的Java DSL |
还有XML DSL的样本,您也可以在源代码中看到该样本。
Camel 1.0中的XML DSL |
在此第一个版本中,我们还具有出色的测试工具包,例如,在下面的屏幕截图中注意到模拟的用法和设置期望。 从第一天开始测试骆驼就变得容易了。 是的,这是骆驼项目的DNA。
骆驼1.0中已包含骆驼测试套件 |
并注意上述单元测试中对Apache Camel创始人的引用。
- 詹姆斯·斯特拉坎
- 罗伯·戴维斯
- 希拉姆·奇里诺
- 纪尧姆·诺德(Guillaume Nodet)
谢谢你们创造了这个很棒的项目。 令人印象深刻的第一版,你们5年前就做了。
我将通过运行Apache Camel 1.0发行版中的camel-example-spring来结束本博客。
$ cd的例子
$ cd骆驼示例春天 $ mvn编译 $ mvn骆驼:运行
现在,您应该有耐心了,因为Maven正在下载5年之久的古老JAR。 所以需要一段时间:)
骆驼1.0示例运行 |
上面的屏幕截图显示了运行的Camel 1.0示例。 此示例通过使用来自JMS队列的消息并将其写入文件开始。 因此,我们需要与jconsole连接,以发送消息。 我已经突出显示了在jconsole中使用的服务URL。
jconsole发送消息– Camel 1.0摇滚 |
在jconsole中,我们展开树并找到测试队列,并使用文本“ Camel 1.0 rocks”调用sendTextMessage操作。
在上面的第二张屏幕截图中,您可能会在控制台的最后一行中看到“ Received Exchange”。 这是Camel记录的日志,因为示例使用了此博客顶部的屏幕快照中显示的以下路线。
然后,我们还可以看到文件也已写入测试目录,在这里我们可以看到文件名是消息ID,文件内容是从jconsole发送的内容:
这是5年前,所以让我们快进到今天。
Apache Camel的最新版本是2.9.2,因此让我们迁移旧示例以使用此版本。 为此,您需要:
- 调整pom.xml以使用Camel 2.9.2,并且camel-activemq组件已从Camel移到ActiveMQ,因此您需要包括它。 对于日志记录,我们现在使用slf4j。 修改后的pom.xml如下所示
将示例从Camel 1.0升级到2.9.2,调整pom.xml文件 |
- 在Spring XML文件中,您需要更改Camel的名称空间,因为当Camel毕业成为Apache顶级项目时,该名称空间已从activemq迁移到camel。 我们也升级到在XSD中使用Spring 3.0。 现在,activemq组件来自ActiveMQ,而不是Camel。 现在,packages属性是一个xml标记,因此您需要在<camelContext>中使用<packlage>。 更新后的文件如下所示:
将Spring XML从Camel 1.0升级到Camel 2.9.2 |
好的,我们现在可以开始了。
无需更改Java源代码!!!!
该示例从Camel 1.0迁移到2.9.2,而无需更改Java代码!!!! |
就像在我们使用JConsole发送文本消息之前一样。
我必须说James及其创始人在Camel 1.0版本中实现了这一目标,示例中的DSL与今天的Camel版本完全兼容。
确实是一个非常令人印象深刻的第一版。 骆驼开了一个很好的开端,从那时起,这个项目就变得越来越强大。
参考: 在我们的JCG合作伙伴 Claus Ibsen在Apache Camel博客的Claus Ibsen 上看到令人印象深刻的第一个Apache Camel版本 。
翻译自: https://www.javacodegeeks.com/2012/06/impressive-first-apache-camel-release.html
令人印象深刻的第一个Apache Camel版本相关推荐
- apache camel_令人印象深刻的第一个Apache Camel版本
apache camel 在准备下周的CamelOne会议时,我花了一些时间回顾一下Apache Camel项目的历史. 因此,除其他外,我了解了Apache Camel的第一个正式1.0版本 . A ...
- 机器人演示demo_令人印象深刻的WebGL演示
机器人演示demo Fresh impressing WebGL demonstrations What is WebGL? This is new modern software library t ...
- 从Java 8 到 Java 14,几个令人印象深刻的新特性
1.Lambda 表达式 Lambda表达式时Java 8中的一个新特性,它允许许把函数作为一个方法的参数(函数作为参数传递进方法中). Lambda 表达式的语法格式如下: (parameters) ...
- 一款令人印象深刻的FCPX插件:3D Photo Animator (3D照片动画制作器)
hello,大家好.今天小编给你带来一款FCPX插件:3D Photo Animator (3D照片动画制作器) 这是一个可以将风景人像平面图片转3D空间摄像机视觉差特效动画,它使用Z轴缓冲区深度技术 ...
- OpenAI教程之OpenAI 的 Dall-E2 令人印象深刻
什么是 Dall-E2? 如果您已经知道它是什么,请跳过这一部分. 如果您只是碰巧在不知道 Dall-E2 是什么的情况下进入这个故事,这里有一个简短的解释. Dall-E2 是 OpenAI 于 2 ...
- 下载The7主题,为你的网站打造多功能、令人印象深刻的外观!
想要为你的网站提供令人印象深刻的外观,并具备强大的多功能特性?现在,你可以下载The7主题,让你的网站脱颖而出,实现独一无二的在线存在! The7是一款备受推崇的WordPress主题,它融合了创意设 ...
- Skytte:一款令人印象深刻的 HTML5 射击游戏
Skytte 是一款浏览器里的 2D 射击游戏.使用 Canvas 元素和大量的 JavaScript 代码实现.Skytte 是用我们的开源和现代的前端技术创造的.经典,快节奏的横向滚动射击游戏,探 ...
- 用CSS3制作令人印象深刻的产品展示图片切换效果
用CSS3制作令人印象深刻的产品展示图片切换效果 产品页面是在您的网站上的任何页面展示产品.它必须描述产品的特点,给点截图展示.当然,这是你让访问者对你的产品感兴趣的地方,但它越来越难以抓住他们的注意 ...
- s19文件编辑_19个令人印象深刻的在线图像编辑器
s19文件编辑 Image editors can cost you hundreds, if not thousands, of dollars, and some of them (not men ...
最新文章
- Java编程基础篇第二章
- linux 实时 网口 速率_Linux 命令行网络端口速度测试
- java pause_java – 更有效的暂停循环方式
- [ python ] 基础技巧
- CSS中调用JS函数和变量
- 原来这样做模型分数,稳定性与灵活性可以双保障!
- python 安装xlwt失败_安装python库xlwt的时候遇到超时的情况。
- Jacobi matrix——一种对向量方程的梯度描述方式
- Discuz! 7.1 7.2 远程代码执行漏洞
- jdbcdbcpc3p0
- 在Eclipse里面引入dtd文件
- Android中实现Activity的透明背景效果
- android开发歌词滑动效果_漂亮的Android音乐歌词控件 仿网易云音乐滑动效果
- 谷歌输入法/谷歌拼音输入法/WIN7好用的输入法
- 什么是流片?芯片流片概念介绍
- 上海黄山自游二日游攻略
- JNB, JBE, JGE, JLE 指令的转移条件
- InputStream 、 InputStreamReader 、 BufferedReader
- 自兴动脑:见证人工智能发展新高度,挑战AI智慧医疗
- 马士兵学习笔记-Java基础网络编程
热门文章
- 小程序真机测试错误代码_测试不充分:知道您的代码是否真的可以投入生产的5种方法...
- java程序连接kafka_Java的Kafka:构建安全,可扩展的消息传递应用程序
- java实现可选形参_Java:可选的可选实现
- fegin 参数丢失_许多参数和丢失的信息
- cassandra_Spring Boot Cassandra的第一步
- pl/postgresql_将PostgreSQL PL / Java安装为PostgreSQL扩展
- es 调整gc_实际中进行GC调整
- Apache Camel 3.1 –即将推出更多骆驼核心优化
- javafx_JavaFX技巧4:总结
- guava读取配置文件_使用Guava MapSplitters配置Hadoop