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"));
我收到一条消息,其中包含各种内容。从该消息中,我生成了多个 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"));