我想添加一些有关插入Pojo的额外信息,我已经使用了消息丰富的骡子并且这样做,这是我的全部流程。我正在使用子流来获取有效负载并在DB中选择一些值并在同一个pojo中设置该值并返回,而在目标中我设置为有效负载但是我得到这样的错误“表达式Enricher for”payload“未注册与骡子。“
这是mu flow
<enricher doc:name="Message Enricher">
<core:flow-ref name="flows1Flow1" doc:name="Flow Reference"/>
<enrich source="#[groovy:payload]" target="#[payload]"/>
<logger message="AFTER Enrich: #[payload]" level="INFO" doc:name="Logger"/>
<component class="com.enrich.AfterEnricher" doc:name="Java"/>
<sub-flow name="flows1Flow1" doc:name="flows1Flow1">
<component class="com.enrich.MessageEnrichPattern" doc:name="Java"/>
<jdbc:outbound-endpoint exchange-pattern="request-response" queryKey="selectData" connector-ref="jdbcConnector" doc:name="Database (JDBC)">
<jdbc:query key="selectData" value="SELECT Username, Password, ModuleId from Credentials where ModuleId=#[map-payload:moduleId]"/>
</jdbc:outbound-endpoint>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
<component class="com.enrich.ReceiveMessageEnrichPattern" doc:name="Java"/>
</sub-flow>
这里是ReceiveMessageEnrichPattern returing
Credential credential = new Credential();
credential.setUname(hashMap.get("USERNAME").toString());
credential.setPwd(hashMap.get("PPPP").toString());
credential.setMid(hashMap.get("MODULEID").toString());
return credential;
但在富集组件之后我得到例外。请帮助我如何丰富我的传入pojo与额外的信息可以添加。
答案 0 :(得分:2)
根据docs,骡子目前只支持两个目标进行浓缩:
要实现您的目标,您需要: