Apache Camel 路由
Apache Camel routing
一个关于 Apache Camel 的简短问题。
我有以下场景,我的服务器接收 jms 消息,然后转换为 csv 文件,然后插入 DB。
为此,我有 2 个豆子:
- xml2csv
- 插入数据库
我使用这样的路由:
<route id="route1" errorHandlerRef="myErrorHandler">
<from uri="file://{someFolder1}}
?...
<to uri="bean:xml2csv" />
<log message="transformed to xml file" />
</route>
<route id="route2" errorHandlerRef="myErrorHandler">
<from uri="file://{{someFolder2}}
?...
<to uri="direct:csvOnboardingChannel" />
</route>
<route id="csvOnboarding" errorHandlerRef="myErrorHandler">
<from uri="direct:csvOnboardingChannel" />
<to uri="bean:insertDB" />
</route>
当"route"一个文件从-到时,它像消息一样移动吗?或者换个角度问,Apache Camel 是否获取一个文件,将其包装为消息并将其路由到 bean 或组件?
我理解的是对的还是方向错了
是的,你的理解是正确的。 Camel 读取文件的数据并通过路由将其作为消息发送到 bean。作为单一路线也可能更简单,如下所示:
<route id="route1" errorHandlerRef="myErrorHandler">
<from uri="file://{someFolder1}}">
<to uri="bean:xml2csv" />
<to uri="bean:insertDB" />
</route>
一个关于 Apache Camel 的简短问题。 我有以下场景,我的服务器接收 jms 消息,然后转换为 csv 文件,然后插入 DB。 为此,我有 2 个豆子:
- xml2csv
- 插入数据库
我使用这样的路由:
<route id="route1" errorHandlerRef="myErrorHandler">
<from uri="file://{someFolder1}}
?...
<to uri="bean:xml2csv" />
<log message="transformed to xml file" />
</route>
<route id="route2" errorHandlerRef="myErrorHandler">
<from uri="file://{{someFolder2}}
?...
<to uri="direct:csvOnboardingChannel" />
</route>
<route id="csvOnboarding" errorHandlerRef="myErrorHandler">
<from uri="direct:csvOnboardingChannel" />
<to uri="bean:insertDB" />
</route>
当"route"一个文件从-到时,它像消息一样移动吗?或者换个角度问,Apache Camel 是否获取一个文件,将其包装为消息并将其路由到 bean 或组件?
我理解的是对的还是方向错了
是的,你的理解是正确的。 Camel 读取文件的数据并通过路由将其作为消息发送到 bean。作为单一路线也可能更简单,如下所示:
<route id="route1" errorHandlerRef="myErrorHandler">
<from uri="file://{someFolder1}}">
<to uri="bean:xml2csv" />
<to uri="bean:insertDB" />
</route>