apache camel

在即将发布的Apache Camel 2.15中,我们使Camel更智能。 现在,它可以充当老师,并向您说明其配置方式以及这些选项的含义。

Camel可以做的第一课是告诉您如何配置所有端点以及这些选项的含义。

接下来我们要学习的课程是让Camel解释EIP的选项。

好了,一张图片值得一千个单词,所以让我展示Apache Karaf的屏幕截图,您可以在其中使用新的endpoint-explain命令来解释如何配置端点。

Apache的屏幕截图来自我在Karaf中安装的SQL示例 。 此示例使用了多个端点,其中有一个计时器每5秒触发一次。 从上面可以看到,该命令列出了端点uri:timer:// foo?period = 5s,然后在下面解释了该选项。 由于uri仅具有1个选项,因此仅列出了一个。 我们可以看到该选项被命名为period。 它的java类型很长。 json模式类型为整数。 我们可以看到该值为5s,在说明该值的说明的下方。

那么为什么列出两种类型呢? 想法是存在一种适合工具等的类型,因为它具有对应于JSonSchema规范的更简单的类型类别。 还列出了Java中的实际类型。

计时器端点还有更多选项,因此我们可以使用–verbose选项列出所有选项,如下所示:

说明端点功能还可以作为JMX或CamelContext上的Java API使用。 对于JMX,每个端点mbean都有一个说明操作,该操作返回具有上述数据的表格数据。 jconsole的以下屏幕截图对此进行了说明:

另外,在CamelContext MBean上有一个通用的explainEndpointJson操作,它可以解释所提供的任何任意uri。 因此,您可以解释Camel不使用的端点。

那么这是如何工作的呢?

在构建Apache Camel版本的过程中,我们为每个组件生成一个HTML和JSon模式,其中每个端点选项都以其名称,类型和描述进行记录。 对于枚举,我们列出了可能的值。

这是camel-sql组件的此类json模式的示例:

现在要使此工作正常,组件必须支持uri选项,这需要使用@UriEndpoint注释端点。 尽管Camel团队尚未迁移Camel版本中的所有160多个组件。 但是我们计划随着时间的推移迁移组件。

当然可以肯定的是,现在有了这个新功能,它鼓励我们迁移所有组件。

那么我们从哪里获得文档? 好吧,它只是Java代码,所以您要做的就是为端点选项设置getter / setter。 添加@UriParam批注,并为setter添加Javadoc。 是的,我们将javadoc作为文档。 因此,它只是作为标准javadoc记录在一个地方,并在源代码中有记载。

我希望我们将来能自动为这些组件生成Camel网站文档,因此我们不必在其Wiki系统中单独进行维护。 但这将需要艰苦的工作才能实现。 但是最终我们应该到达那里,因此每个组件都记录在源代码中。 例如,对于每个具有所有组件文档的组件,我们可能都有一个readme.md,然后将端点选项从Camel内置系统中自动注入该readme.md文件中。 拥有readme.md文件还允许github用户使用github样式很好地浏览Camel组件文档!

那么下一步是什么?

hawtio Web控制台也将集成此功能,因此从Camel 2.15开始的用户可以立即在Web控制台中获取该信息。

然后开始在Spring / Blueprint用户的XML模式中包含有关EIP的文档。 并改进EIP的javadoc,因为这也成为文档的唯一来源。 然后,当人们在XML编辑器中开发其骆驼路线时,这将允许诸如Eclipse / IDEA / Netbeans之类的工具以及诸如此类的工具来显示文档,因为该文档在XSD中以xsd:documentation标记提供。

我们已经捕捉到一些想法,在CAMEL-7999票证中还有其他事情。 如果您有任何其他需要改进的想法,那么我们欢迎社区提供反馈。

翻译自: https://www.javacodegeeks.com/2014/11/apache-camel-please-explain-me-what-these-endpoint-options-mean.html

apache camel

apache camel_Apache Camel请向我解释这些端点选项的含义相关推荐

  1. Apache Camel请向我解释这些端点选项的含义

    在即将发布的Apache Camel 2.15中,我们使Camel更智能. 现在,它可以充当老师,并向您说明其配置方式以及这些选项的含义. Camel可以做的第一课是告诉您如何配置所有端点以及这些选项 ...

  2. apache camel_Apache Camel Intellij IDEA插件的工作已开始

    apache camel 仅仅因为圣诞节并不意味着骆驼静止不动. 在23日晚上,我花了一些时间进行研究,并开始研究IDEA的Apache Camel插件的小原型. 它已经存在了我很长时间. 原因是Ap ...

  3. apache camel_Apache Camel日志组件示例

    apache camel Apache Camel日志组件示例 您要将消息记录到底层的记录机制中,请使用骆驼的log:组件. Camel使用sfl4j作为记录器API,然后允许您配置记录器实现. 在本 ...

  4. apache.camel_Apache Camel 2.18 –即将推出的功能的亮点

    apache.camel 骆驼骑士正在忙于即将发布的Apache Camel 2.18版本. 当我们动态更新发行说明时 ,这是一种快速查看即将发生的情况的方法. 我只是想在夏天在这里进行快速更新,到目 ...

  5. apache.camel_Apache Camel 2.9发布–十大变化

    apache.camel 在2011年的最后一天,阿帕奇骆驼制品被成功地推到了Maven仓库中,距离香槟酒瓶破裂并进入2012年仅1.5个小时. 2.9版是创纪录的发行版,自5个月前发布2.8版以来, ...

  6. apache.camel_Apache Camel K 1.0在这里–您为什么要关心

    apache.camel 昨天我们发布了Apache Camel K 1.0,并在社交媒体和Camel网站上宣布了该版本. 那么,骆驼K是什么,为什么你要在乎呢? 这是一个很好的问题,我想通过提及伟大 ...

  7. apache camel_Apache Camel中的短重试与长重试

    apache camel <骆驼设计模式>一书介绍了20种模式以及用于设计基于Apache Camel的集成解决方案的众多技巧和最佳实践. 每种模式都基于真实的用例,并提供了Camel特定 ...

  8. apache camel_Apache Camel –从头开始开发应用程序(第1部分/第2部分)

    apache camel 开始之前 前段时间,我写了一篇关于Spring Integration的教程,以演示如何在受现实发票处理系统启发的示例应用程序中使用Spring Integration. 我 ...

  9. apache.camel_Apache Camel 3.1 – XML路由的快速加载

    apache.camel Camel 3.1中添加的一项功能是能够更快地加载XML路由. 这是我们为使Camel变得更小,更快而进行的总体工作的一部分. 您可能会说ewww XML. 但坦率地说,有很 ...

最新文章

  1. define##的作用
  2. 郁闷。用户的无聊话题
  3. 梅露可物语虚拟服务器,【图片】【萌新】主界面的使用方法(零基础版)【梅露可物语日服吧】_百度贴吧...
  4. jQuery.html()方法ie下不能设置html代码的问题
  5. 技术分享——机房搬迁工作步骤及方案详解
  6. flask接口mysql开发例子,使用Flask开发简单接口3–引入MySQL
  7. C++中的继承(派生)的一些误区
  8. 推动运营商安全标准体系建设
  9. HDU2024 C语言合法标识符【文本处理】
  10. 格拉布斯检验法matlab,格拉布斯检验法MATLAB算法
  11. 【数据库】数据库系统工程师(软考中级)——学习过程总结
  12. Python开发游戏自动化后台脚本
  13. 吐槽 intent:#Intent;S.K_1171477665=;end
  14. JavaScript 的防抖与节流
  15. 罗马数字转换python_20190502-罗马数字转换为数字
  16. 建造属于你的无人驾驶车——(七)为XACRO模型添加GAZEBO属性与运动控制插件
  17. 论文笔记:Bootstrap Your Own Latent A New Approach to Self-Supervised Learning
  18. matlab安装 runtime错,Win7安装Matlab7.0出错Runtime Error怎么办?
  19. 三、逻辑结构与存储结构的区分
  20. numpy生成等差等比数列

热门文章

  1. jzoj3188-找数【质数筛,数论】
  2. Codeforces Round #681 (Div. 2, based on VK Cup 2019-2020 - Final)
  3. 图像处理作业 第8次
  4. JavaFX UI控件教程(二十三)之Menu
  5. 架构师必须掌握的 10 条设计原则
  6. Oracle入门(十三A1)之替换变量,变量名,变量名
  7. hashCode和identityHashCode的区别你知道吗?
  8. Spring开启方法异步执行
  9. Shell入门(二)之变量
  10. 写一个算法统计在输入字符串中各个字符出现的频度