Camel で Bean を使用して SQL に挿入しようとしています。camel sql コンポーネントの内部クラスに到達するときに sql が null であるため、詳細が欠落しているに違いありません。insertBean でマップを返すだけでは十分ではないでしょうか?
私のルートはこのように定義されています。
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;
camel 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
前もって感謝します