Apache Camel 多个 SQL 语句

Apache Camel Multiple SQL Statements

我收到一条消息,其中包含各种内容。从该消息中,我生成了多个 SQL 语句并将它们添加到列表中。在我以前的实现中,这不是问题,我正在一个接一个地执行语句,但我找不到是否可以用 apache camel 做同样的事情。我只是想问的是,是否可以使用 apache camel 执行多个 SQL 语句?

像下面这样的东西? PS: 每个语句通常是不同的。

`from(...).process(new Processor()).to(THIS IS WHERE MULTIPLE STATEMENTS GOES I ASSUME)`

提前致谢。

您可以使用骆驼循环 eip,每个循环都可以使用循环索引从列表中获取 sql 语句并执行它。

使用 Recipient List EIP 在 run-time 处动态设置目标端点列表。

稍微修改您的 Processor 并准备 List 个端点到 header。

exchange.getIn().setHeader("MyListOfStatements", Arrays.asList(
    "sql:INSERT something INTO somewhere", 
    "sql:INSERT anything INTO elsewhere"
));

然后将此 header 用作 recipientList

中的 Expression
from(...).process(new Processor()).recipientList(header("MyListOfStatements"));