Talend tREST http压缩

时间:2015-05-27 21:16:05

标签: java talend

我在tREST组件上启用了http压缩,但现在主输出已经过编码。有没有办法让普通琴弦回来?

talend tREST compression

"内容编码:gzip" "接受编码:gzip,deflate"

1 个答案:

答案 0 :(得分:0)

不幸的是,如果不能开箱即用,你就不能轻易做到这一点。

发现某些内容是否有效以及某些内容是如何工作的最简单方法可能是查看您正在使用的组件的来源。

在这种情况下,我们来看看tRest_begin.javajet:

你会找到以下段落:

...
com.sun.jersey.api.client.Client restClient_<%=cid%> = com.sun.jersey.api.client.Client.create(config_<%=cid%>);
com.sun.jersey.api.client.WebResource restResource_<%=cid%>;
...

https://github.com/Talend/tdi-studio-se/tree/master/main/plugins/org.talend.designer.components.localprovider/components/tREST/tRest_begin.javajet

现在我们知道,talend使用jersey.api.client作为tRest组件。此库似乎不解释Content-Encoding标头并自动解压缩数据。相反,你似乎被迫使用: http://jersey.java.net/nonav/apidocs/1.5/jersey/com/sun/jersey/api/client/filter/GZIPContentEncodingFilter.html

那么什么了?

要解决您的问题,您可以获取tRest组件并按其工作方式进行修改,并从中创建一个新组件,从而提供您所需的功能。

我还建议您阅读以下内容,这有助于您了解组件的工作原理以及如何自行创建组件:

http://www.powerupbi.com/talend/componentCreation_1.html