【发布时间】:2018-10-26 22:59:05
【问题描述】:
我们想使用Spring Integration 解压一个字节数组,并且在使用 unzip-transformer 时遇到以下异常:
org.springframework.integration.handler.ReplyRequiredException: 处理程序 'org.springframework.integration.handler.MessageHandlerChain#1$child#1' 没有产生回复,并且它的 'requiresReply' 属性设置为 true.,failedMessage =GenericMessage [有效负载=字节[327] ...
这是我们尝试使用的 .xml blob:
int-zip:unzip-transformer result-type="BYTE_ARRAY" expect-single-result="true"/>
使用 service-activator 的等效 java 代码可以很好地解压:
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
GZIPInputStream gzipInputStream;
gzipInputStream = new GZIPInputStream(new ByteArrayInputStream((byte[])
message.getPayload()));
IOUtils.copy(gzipInputStream, byteArrayOutputStream);
byteArrayOutputStream.close();
return new String(byteArrayOutputStream.toByteArray(), Charsets.UTF_8);
有没有办法使用 unzip-transformer 来做同样的代码?
【问题讨论】:
-
您需要分享一些简单的应用程序来重现该问题。目前尚不清楚如何以及如何获得相同的异常。感谢理解
-
我构建了一个spring应用来重现这个错误:github.com/praveenKumar88/springproject。您可以通过执行此测试来重现此行为:github.com/praveenKumar88/springproject/blob/master/src/test/…。希望这会有所帮助
标签: java spring-integration compression gzipinputstream