ミュール スタンドアロン 3.4 を使用しています。Salesforce コネクタを使用してクエリ操作を実行し、ペイロードをスプリング コンポーネントに渡すフローを作成しようとしています。その結果、コンポーネントは呼び出されません。
<flow name="sfcdContact" doc:name="sfcdContact">
<quartz:inbound-endpoint repeatInterval="2000"
startDelay="3000"
jobName="sfcdContact">
<quartz:event-generator-job/>
</quartz:inbound-endpoint>
<sfdc:query config-ref="Salesforce"
query="${salesforce.query.contact}"
doc:name="sfcdContactQuery"/>
<component>
<spring-object bean="salesForceConsumer"/>
</component>
<catch-exception-strategy doc:name="Catch Exception Strategy">
<flow-ref name="ErrorHandling"/>
</catch-exception-strategy>
</flow>
フローから sfdc 部分を削除すると、Spring コンポーネントが正常に呼び出されます。フローからコンポーネント部分を削除して、次のものに置き換えると:
<logger message="\#\#\# query operation payload \#[payload]" level="INFO" doc:name="Logger"/>
結果は正常にログに入力されます。そのため、ピースは個別に正しく機能しているようです。
ログをデバッグに設定しましたが、エラーは報告されません。
Javaコードは次のとおりです。
public class SalesForceConsumer {
public Object consume(@Payload Object payload) throws Exception {
System.out.println("SalesForceConsumer::consume called");
return payload;
}
}
また、署名を次のように変更しようとしました。
public Object consume(@Payload HashMap<String,Object> payload)
これは、ドキュメントがコネクタから返されることを示しています。
Salesforce コネクタを Bean と組み合わせることができない理由はありますか? または、正しく構成されていませんか? ありがとうございました。