Просьба проверить этот модуль
https://github.com/mulesoft/mule-requester-module
может запрашивать ресурс в любой точке потока. Это для ресурсов, изначально запрошенных источниками сообщений.
случаи использования являются:
- Загрузите файл в середине потока
- Потребляйте сообщения (один, N, все) из очереди в середине потока.
- Отправлять сообщения с почтового сервера по требованию, например, использовать его данные в дополнении.
Св просто DevKit обертка вокруг типичного muleContext.getClient() вызова
public Object request(String resource, @Optional @Default("1000") long timeout, @Optional String returnClass, @Optional Boolean throwExceptionOnTimeout) throws MuleException {
MuleMessage message = muleContext.getClient().request(resource, timeout);
Object result = null;
if (message != null)
{
result = message.getPayload();
if (returnClass != null)
{
try {
Transformer transformer = muleContext.getRegistry().lookupTransformer(DataTypeFactory.create(result.getClass()), DataTypeFactory.create(Class.forName(returnClass)));
result = transformer.transform(result);
} catch (ClassNotFoundException e) {
throw new DefaultMuleException(e);
}
}
} else if (Boolean.TRUE.equals(throwExceptionOnTimeout))
{
throw new DefaultMuleException("No message received in the configured timeout - " + timeout);
}
return result;
}