MessageHandlingException consistency

* Use `IntegrationUtils.wrapInHandlingExceptionIfNecessary()` whenever
it is possible to avoid double wrapping into the `MessageHandlingException`
* Some code polishing for affected classes `@Nullable`, streams, diamonds etc.
This commit is contained in:
Artem Bilan
2019-02-21 17:39:20 -05:00
committed by Gary Russell
parent 9c84eceec2
commit 221393e02f
35 changed files with 354 additions and 301 deletions

View File

@@ -41,11 +41,11 @@ import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.springframework.integration.splitter.AbstractMessageSplitter;
import org.springframework.integration.support.utils.IntegrationUtils;
import org.springframework.integration.util.FunctionIterator;
import org.springframework.integration.xml.DefaultXmlPayloadConverter;
import org.springframework.integration.xml.XmlPayloadConverter;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHandlingException;
import org.springframework.messaging.converter.MessageConversionException;
import org.springframework.util.Assert;
import org.springframework.xml.DocumentBuilderFactoryUtils;
@@ -221,11 +221,12 @@ public class XPathMessageSplitter extends AbstractMessageSplitter {
}
return result;
}
catch (ParserConfigurationException e) {
throw new MessageConversionException(message, "failed to create DocumentBuilder", e);
catch (ParserConfigurationException ex) {
throw new MessageConversionException(message, "failed to create DocumentBuilder", ex);
}
catch (Exception e) {
throw new MessageHandlingException(message, "failed to split Message payload", e);
catch (Exception ex) {
throw IntegrationUtils.wrapInHandlingExceptionIfNecessary(message,
() -> "Failed to split Message payload", ex);
}
}