Camel存储过程组件语法



我正在使用camel存储过程来调用数据库中的过程。调用表达式如下:

<camel:to uri="sql-stored:check_data(VARCHAR ${headers.id1},VARCHAR ${headers.id1},OUT INTEGER ${headers.response})?dataSource=ds" />

程序是这样的:

check_data
@id1 varchar(50),
@bid2 varchar(50),
@response int output

经过试用,组件抛出了这个:

org.apache.camel.component.sql.stored.template.ast.ParseRuntimeException: org.apache.camel.component.sql.stored.template.generated.ParseException: Encountered " <SIMPLE_EXP_TOKEN> "${headers.response} "" at line 1, column 80.
Was expecting:
    <IDENTIFIER> ...

我已经检查了骆驼网站中的语法示例,它似乎是真的,但我没有发现这个定义有任何错误。我错过了什么?

Thx

OUT参数中不能使用${header.xxx}语法引用标头。当前的实现将输出存储为Map,您可以在其中定义映射中的键以纯文本形式使用,例如OUT响应。

我们可以考虑为Camel组件添加一个新功能,这样您就可以告诉它将OUT存储在标头中,而不是消息体中。

欢迎您在问题跟踪器中登录JIRA票证,网址为:http://camel.apache.org/support.html

最新更新