You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrey Novikov (JIRA)" <ji...@apache.org> on 2017/08/10 11:02:00 UTC
[jira] [Commented] (IGNITE-6013) Web agent: refactor processing
response from cluster
[ https://issues.apache.org/jira/browse/IGNITE-6013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16121461#comment-16121461 ]
Andrey Novikov commented on IGNITE-6013:
----------------------------------------
Hi [~kuaw26],
I think will be better to create generic deserializer for such fields and bind it using annotation JsonDeserialize. What do you think about this?
> Web agent: refactor processing response from cluster
> ----------------------------------------------------
>
> Key: IGNITE-6013
> URL: https://issues.apache.org/jira/browse/IGNITE-6013
> Project: Ignite
> Issue Type: Improvement
> Reporter: Alexey Kuznetsov
> Assignee: Andrey Novikov
> Fix For: 2.2
>
>
> RestExecutor.sendRequest() contain following code:
> {code}
> ....
> try (Response resp = httpClient.newCall(reqBuilder.build()).execute()) {
> String content = resp.body().string();
> if (resp.isSuccessful()) {
> JsonNode node = mapper.readTree(content);
> ....
> {code}
> Problems:
> # String content = resp.body().string(); >> Generate not needed String.
> # JsonNode node = mapper.readTree(content); >> Generates a big tree of JsonNodes
>
> Could be fixed like:
> RestResponseHolder res = MAPPER.readValue(resp.body().byteStream(), RestResponseHolder.class);
> Where for RestResponseHolder should also created optimized RestResponseHolderDeserializer that will extract response as String without building tree of JsonNodes.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)