热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

令人印象深刻的第一个ApacheCamel版本

为了准备下周的CamelOne会议,我花了一些时间回顾一下ApacheCamel项目的历史。因此,除其他外,我了解了ApacheCamel
为了准备下周的CamelOne会议,我花了一些时间回顾一下Apache Camel项目的历史。 因此,除其他外,我了解了Apache Camel的第一个正式1.0版本 。
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标记,因此您需要在中使用。 更新后的文件如下所示:
将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



推荐阅读
author-avatar
mobiledu2502929493
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有