我正在尝试使用 Camel 中的 bean 插入 sql。我必须以某种方式遗漏一个细节,因为在到达骆驼 sql 组件内部类时 sql 为空。在insertBean中返回map难道还不够吗?
我的路线是这样定义的。
transform().method(InsertFxBean.class).toF("sql:%s",insertQuery);
我的 insertBean 只生成一个字符串,对象映射并返回它。
class InsertBean {
public Map<String, Object> generateInsert(final Exchange exchange) throws Exception {
Map<String, Object> map = exchange.getIn().getBody(Map.class);
map.put("username", value);
//add more stuff, using
//namedParameters here
return map;
我遵循了骆驼 apache sql 示例
我还尝试在 sql 组件上设置不同的选项参数,例如useMessageBodyForSql
和 batch,但没有不同的结果。
stackTrace 显示 sql 是空的:
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-02289: sequence does not exist
提前致谢