Tiven Wang
Wang Tiven December 22, 2017
425 favorite favorites
bookmark bookmark
share share

Testing

Transforming Data

Camel 是企业系统之间的数据交换中心,面对繁杂的多种多样的数据类型自然会有一套数据转换的能力。 Camel 支持不同的数据转换方式,它提供了很多现成的组件对常见数据类型进行转换,如 camel-csv, camel-jackson, camel-xstream 等。但如果涉及到更加灵活的数据处理,则需要用到强大易用的脚本表达式(Expression)了。Camel 提供了很多种脚本语言的支持,比如内置的 simple 语言,JavaScript 语言等。更加传统的编写自定义逻辑的方式莫过于书写 Java 代码了,Camel 有几种可以编写 Java 代码逻辑的方式,Processor, Bean, Content Enricher 等。最后需要用到模板转换数据的话,Camel 也提供了几种支持,XSLT, Apache Velocity 等。

  • Data formats - XML, JSON …
  • Expression - Languages
  • Java - Processor, Bean, Content Enricher
  • Templates - XSLT, Apache Velocity …

关于数据转换的详细介绍参见 Apache Camel - Transforming Data

Error Handling

Camel 对错误的分类定义为:可恢复的(recoverable)错误和不可恢复的(irrecoverable)错误,分别使用 Exception 和 Fault Message 表示。对于 Exception 用户可以自定义处理逻辑,而 Fault Message 会作为错误消息直接返回给服务消费者。

用户可以对 Exception 定义不同的 Error Handlers,或者使用 onException() 对每一种 Exception 分别定义逻辑。而对 Exceptions 的处理逻辑主要是 Redelivery 和 Log 。

详细介绍请参见文章 Apache Camel - Error Handling

Components

Scripting

Apache Camel Scripting

Automating tasks

Quartz

Asynchronous Messages

Concurrency and Scalability

Similar Posts

  • SAP Cloud Platform Integration - Content Enricher How do we communicate with another system if the message originator does not have all the required data items available? Use a specialized transformer, a Content Enricher, to access an external data source in order to augment a message with missing information.
  • SAP Cloud Platform Integration - Message Mapping SAP Cloud Platform Integration provides message mapping, where you can map fields between two messages . Message mapping is one of the widely used message transformation steps in an integration flow.
  • Apache Camel - Error Handling .
  • Apache Camel - Transforming Data Camel 是企业系统之间的数据交换中心,面对繁杂的多种多样的数据类型自然会有一套数据转换的能力。Camel 支持不同的数据转换方式,它提供了很多现成的组件对常见数据类型进行转换
  • Apache Camel - Component - Quartz The quartz: component provides a scheduled delivery of messages using the Quartz Scheduler 1.x . Each endpoint represents a different timer (in Quartz terms, a Trigger and JobDetail).
  • Apache Camel - Scripting Camel supports a number of scripting languages which can be used to create an Expression or Predicate via the standard JSR 223 which is a standard part of Java 6.

Comments

Back to Top