我正在使用独立的骡子 3.4。我正在尝试使用 Salesforce 连接器创建流以执行查询操作,然后将有效负载传递给 spring 组件。结果是组件没有被调用。
<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 组合,或者我的配置不正确?谢谢。