【发布时间】:2012-05-24 06:43:23
【问题描述】:
我想添加一些关于传入 Pojo 的额外信息,我在 mule 中使用了消息丰富器并做到了,这是我的完整流程。我正在使用子流来获取有效负载并在数据库中选择一些值并将该值设置在同一个 pojo 中并返回,而在目标中我设置为有效负载但我收到这样的错误“未注册“有效负载的表达式丰富器”和骡子。”
这里是亩流
<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 返回
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。
【问题讨论】: