@Override public MuleEvent process(MuleEvent event) throws MuleException { MuleMessage message = event.getMessage(); List messageList = (List) message.getPayload(); logger.info("message.getPayload() => {}", messageList); return event; }
@Override public Object onCall(MuleEventContext eventContext) throws Exception { logger.info("Entering onCall ....."); MuleMessage message = eventContext.getMessage(); List messageList = (List) message.getPayload(); logger.info("message.getPayload() => {}", messageList); MuleClient client = context.getClient(); StringBuilder aggregated = new StringBuilder("AGGREGATED ["); for (int i = 0; i < messageList.size(); i++) { String messageType = (String) messageList.get(i); MuleMessage muleMessage = new DefaultMuleMessage(messageType, context); StringBuilder muleURL = new StringBuilder(); muleMessage.setOutboundProperty("X", messageType); client.dispatch("jms://queue1", muleMessage); MuleMessage muleMessage2 = new DefaultMuleMessage(messageType, context); muleMessage2.setOutboundProperty("X", messageType); MuleMessage result = client.send("jms://queue2", muleMessage2); aggregated.append(result.getPayload()).append(","); } aggregated.append("]"); logger.info("Aggregated response {}", aggregated); return eventContext; }