我正在spring应用程序中使用web客户端
我在执行相同操作时面临内存泄漏问题
我正在使用下面的代码获取来自服务的非2xx响应的响应体:
return client.get()
.uri(uriString)
.headers(ServiceCommonUtil.getHttpHeaderConsumer(headersMap))
.exchange()
.flatMap(clientResponse -> {
try {
clientResponse.body((clientHttpResponse, context) ->
clientHttpResponse.getBody());
logResponseStatus(clientResponse.statusCode(), serviceName);
return clientResponse.bodyToMono(String.class);
} catch (Exception e) {
return null;
}
})
responseMono.subscribe(response -> {
//process response string
},error->{
//process error response
});
我的问题是,如果我在responseMono上使用dispose方法,处理过程需要很长的时间,而没有它,我会面临内存泄漏问题。我在这里做错什么了吗?
是的,实际上您并不是在抛出异常的情况下完成响应。
如果要使用exchange()
,您的责任是消耗响应。参见:文档
请查看“ClientResponse”API中的TobodilessEntity()
/ReleaseBody()
。
在SpringJSFWeb应用程序中将Netty客户端处理程序配置为消息接收点,有没有具体的方法? 如果一些独立的Java应用程序充当Netty服务器,我如何接收到SpringJSFWeb应用程序的消息?
我想在Spring WebClient请求链接中发送链接请求参数。例如: https://www.test.com/notification?con=41280440000097 我尝试了以下代码: 但是当我试图设置映射时,我在标记
我有spring boot控制器 在其中,我使用服务,该服务反过来使用ktor客户端向外部服务器发送post请求,该服务器应响应发送csv文件。csv文件内容取决于我在myObjectRq中发送的值。 服务: 正确设置响应的标头,以及日志。方法中的info(String(response.content.toByteArray())打印出接收文件的内容,但我不能将其设置为HttpServletRe
我尝试为我的网站提供文件上传/下载服务,并且尝试使用openstack中的对象存储。问题是,我通过php和openstack PHPSDK做这件事没有问题,但是当我试图通过一些javascript做这件事时,我找不到一个好的sdk或方法。我没有使用node,我有一个php服务器和一个javascript客户端。我想直接从javascript客户端上传或下载文件。我不希望文件通过php服务器传输。我
在调用writeAndFlush()之后,我不知道如何从服务器检索响应;我该怎么办? 我也使用Netty 4.0.18.final
问题内容: 我正在尝试通过OkHttp(2.3.0)缓存Retrofit(v 1.9.0)完成的http调用的响应。如果我尝试在没有互联网的情况下拨打电话,它总是打网络电话。 RestClient OkHttpSingleTonClass 我的活动 我遵循了这一点。但是我无法工作。它只是从服务器上命中。我究竟做错了什么? 问题答案: 根据使用的翻新版不支持缓存。我们必须使用Square 库的实例。