搜索

66.5. 消息正文的处理

download PDF

SQL 组件尝试将消息正文转换为 java.util.Iterator 类型的对象,然后使用此迭代器填充查询参数(其中每个查询参数都由端点 URI 中一个 附件符号(或已配置的占位符)表示。如果消息正文不是数组或集合,则转换器会导致迭代一个对象,这是正文本身。

例如,如果消息正文是 java.util.List 实例,则列表中的第一个项将被取代在 SQL 查询中的第一个出现,则列表中的第二个项目将被取代,以此类推。

如果 batch 设为 true,则入站消息正文正文的解释稍微变化 - 而不是参数迭代器,组件需要一个包含参数迭代器的迭代器;外部迭代器的大小决定了批处理大小。

您可以使用选项 useMessageBodyForSql,允许将消息正文用作 SQL 语句,然后在带有键 SqlConstants.SQL_PARAMETERS 的标头中提供 SQL 参数。这样,SQL 组件可以更动态地工作,因为 SQL 查询来自消息正文。使用模板(如 Velocity、自由标记器)进行条件处理,例如,根据查询参数的存在,使用模板(如 Velocity、Freemarker)来包括或排除 where 子句。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.