如何从mule数据库连接器获取mule有效负载的值

如何从mule数据库连接器获取mule有效负载的值,mule,Mule,请建议如何编写一个java类来读取mule负载,并从中读取值,然后将它们分配给DTO,以便我可以返回相同的值 如何从数据库发回带有值的DTO,我在读取有效负载或转换它时面临问题。如果您使用的是enterprise edition,则可以使用DataWeave将resultset转换为POJO。数据库连接器返回行的Hashmap的ArrayList。您可以迭代此列表并创建pojo,例如- %dw 1.0 %output application/java --- payload map { ({

请建议如何编写一个java类来读取mule负载,并从中读取值,然后将它们分配给DTO,以便我可以返回相同的值


如何从数据库发回带有值的DTO,我在读取有效负载或转换它时面临问题。

如果您使用的是enterprise edition,则可以使用DataWeave将resultset转换为POJO。数据库连接器返回行的Hashmap的ArrayList。您可以迭代此列表并创建pojo,例如-

%dw 1.0
%output application/java
---
payload map {
({id: $.id,
name: $.name}) as :object {class:'com.my.PersonPojo'}
}

您可以使用MEL映射语法从数据库中读取负载,而不是使用java组件。
干杯

通过以下方式获取java中的有效负载

List<String> list = eventContext.getMessage().getPayload();
sessionVars.dtolist一样抓取它以获取列表。迭代并获取每个值

List<DTOObject> dtos = new ArrayList<DTOObject>();
for(String eachValue : list) {
   dto.setValue(eachValue);
   dtos.add(dto);
}
return dtos;
eventContext.getMessage().setProperty("dtoList", dtos, PropertyScope.SESSION);