diff --git a/org.springframework.integration.stream/src/main/java/org/springframework/integration/stream/CharacterStreamWritingMessageHandler.java b/org.springframework.integration.stream/src/main/java/org/springframework/integration/stream/CharacterStreamWritingMessageHandler.java index 529c23a60f..8608bd0909 100644 --- a/org.springframework.integration.stream/src/main/java/org/springframework/integration/stream/CharacterStreamWritingMessageHandler.java +++ b/org.springframework.integration.stream/src/main/java/org/springframework/integration/stream/CharacterStreamWritingMessageHandler.java @@ -20,6 +20,7 @@ import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; +import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.io.Writer; @@ -134,6 +135,10 @@ public class CharacterStreamWritingMessageHandler implements MessageHandler { else if (payload instanceof byte[]) { this.writer.write(new String((byte[]) payload)); } + else if (payload instanceof Exception) { + PrintWriter printWriter = new PrintWriter(this.writer, true); + ((Exception) payload).printStackTrace(printWriter); + } else { writer.write(payload.toString()); }