Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 组件之间的apachecamel数据类型 我在ApacheCamel网站上找不到任何与此相关的文档。_Java_Apache Camel - Fatal编程技术网

Java 组件之间的apachecamel数据类型 我在ApacheCamel网站上找不到任何与此相关的文档。

Java 组件之间的apachecamel数据类型 我在ApacheCamel网站上找不到任何与此相关的文档。,java,apache-camel,Java,Apache Camel,Apache Camel中的组件之间的通信如何以及哪些类型受支持。我想了解它里面发生的魔力。因为文档只是说您使用文件系统或FTP中的数据、来自JMS的消息、SQL数据和大量其他可能的数据,然后将它们发送给一个生产者,该生产者似乎神奇地接受任何东西,并输出大量可能的数据。 他们是否为框架中的所有类型编写了转换器 我想知道同样的问题会丰富我们的生活。所有这些连接器似乎都非常灵活,我找不到任何支持其中内容的参考。我愿意为一个系统编写一个组件,但我找不到一个好方法来完成它。 我是否必须为所有可能出


Apache Camel中的组件之间的通信如何以及哪些类型受支持。我想了解它里面发生的魔力。因为文档只是说您使用文件系统或FTP中的数据、来自JMS的消息、SQL数据和大量其他可能的数据,然后将它们发送给一个生产者,该生产者似乎神奇地接受任何东西,并输出大量可能的数据。

  • 他们是否为框架中的所有类型编写了转换器
我想知道同样的问题会丰富我们的生活。所有这些连接器似乎都非常灵活,我找不到任何支持其中内容的参考。我愿意为一个系统编写一个组件,但我找不到一个好方法来完成它。

  • 我是否必须为所有可能出现的类型编写转换器

我已经看到,camel与
Exchange
类一起工作,它使用它在组件之间来回发送消息。在我看来,组件如何处理不同的消息类型是相当模糊的。

我建议您看看克劳斯·易卜生和乔纳森·安斯蒂的《骆驼在行动》一书。我以前也有这样的问题。他们在那里得到了完美的回答。第11.3章将指导您创建自己的组件。此外,您可以首先查看这个github。它有一个如何创建自己的组件的示例

Camel可能不知道您在消息体中传递的是什么类型,因此它提供了多种方法来转换负载,从创建用于转换的处理器开始,到使用接受表达式的JavaDSL
transform
方法

只要准备好处理一个案例,当一个未知的对象被消耗时。不要担心所有传入的对象。
这完全取决于消费者是如何实现的。

我建议您看看克劳斯·易卜生和乔纳森·安斯蒂的《骆驼在行动》一书。我以前也有这样的问题。他们在那里得到了完美的回答。第11.3章将指导您创建自己的组件。此外,您可以首先查看这个github。它有一个如何创建自己的组件的示例

Camel可能不知道您在消息体中传递的是什么类型,因此它提供了多种方法来转换负载,从创建用于转换的处理器开始,到使用接受表达式的JavaDSL
transform
方法

只要准备好处理一个案例,当一个未知的对象被消耗时。不要担心所有传入的对象。
这完全取决于消费者是如何实现的。

我已经完成了创建组件的步骤,并且针对我想要创建的组件做了一些初步工作,这些工作不仅仅是发送字符串。但在不知道这些答案的情况下,我可能会做出一些错误的假设……这取决于你可能遇到的情况。你在吃什么?文件夹?对象?我将使用其中包含可选自定义元数据的文件。。。我添加元数据的方式是通过Exchange对象中的附件。我不知道这是否是正确的方法,但请记住,如果您决定在路线中的某个点进行一些处理,并将结果放入“out”消息中,不要忘记将“in”消息中的所有标题和附件也移动,因为它们不会自动移动。如果我不设置out,它会默认转发所有内容吗?或者下一个端点将接收到一条空消息?我已经完成了创建组件的步骤,并且我已经围绕我想要创建的组件做了一些初步的工作,这超出了发送字符串的范围。但在不知道这些答案的情况下,我可能会做出一些错误的假设……这取决于你可能遇到的情况。你在吃什么?文件夹?对象?我将使用其中包含可选自定义元数据的文件。。。我添加元数据的方式是通过Exchange对象中的附件。我不知道这是否是正确的方法,但请记住,如果您决定在路线中的某个点进行一些处理,并将结果放入“out”消息中,不要忘记将“in”消息中的所有标题和附件也移动,因为它们不会自动移动。如果我不设置out,它会默认转发所有内容吗?或者下一个端点会收到一条空消息?Camel有两条消息,它们已经涵盖了大量的格式。如果您需要更专门化的消息(如Apache CXF和Camel之间的消息转换)组件也可以指定,但不要忘记在中声明这些自定义转换器,否则Camel在默认情况下不会拾取它们,因此将无法转换消息appropriately@RomanVottner因此,从技术上讲,即使是现有的组件也不能相互兼容,对吗?转换器只是两个组件之间的映射两种(或多种)格式。如果没有指示,Camel应该如何知道如何将某个数据格式处理为另一个数据格式。当然,您可以始终退回到camel核心中包含的一个默认值(即InputStream或byte[]),camel有两个默认值,它们已经涵盖了大量的格式。如果您需要更专门化的消息(如Apache CXF和Camel之间的消息转换)组件也可以指定,但不要忘记在中声明这些自定义转换器,否则Camel在默认情况下不会拾取它们,因此将无法转换消息appropriately@RomanVottner因此,从技术上讲,即使是现有的组件也不能相互兼容,对吗?转换器只是两个组件之间的映射两种(或多种)格式。如果没有指示,Camel应该如何知道如何将某个数据格式处理为另一个数据格式。当然,您可以始终退回到默认的o