问题标签 [asyncresttemplate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2391 浏览

spring - Spring AsyncRestTemplate 连接池和线程池设置

我想使用 AsyncRestTemplate 在我的服务中进行 REST 调用。根据 Spring 文档,这个类有 5 个构造函数(参考http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/AsyncRestTemplate.html

AsyncRestTemplate(AsyncClientHttpRequestFactory asyncRequestFactory) - 使用这个 AsyncClientHttpRequestFactory 参数我将能够配置连接池。

AsyncRestTemplate(AsyncListenableTaskExecutor taskExecutor) - 使用它我将能够为异步操作配置线程池。

我想知道是否有一种方法可以在 AsyncRestTemplate 中同时配置连接池和线程池。

非常感谢您。

0 投票
2 回答
864 浏览

java - Spring 的 AsyncRestTemplate 不适用于压缩内容,获取压缩内容而不是 json 对象

我已经在我的 Spring Boot 应用程序上启用了内容压缩,并且每个 API 的响应都被压缩了,但是如果我使用这些 APIS,RestTemplate我会得到类似的内容

但是,如果我使用HttpClientBuilder.create().build()创建RestTemplate对象并headers.set("Content-Encoding", "gzip"); headers.set("Accept-Encoding", "gzip");在为交换请求设置标头时添加,我会收到字符串格式的正确 json 对象,因为 API 本身返回一个字符串。

但是我在使用 访问这些 API 时遇到了同样的问题AsyncRestTemplate,即使我AsyncRestTemplate使用我已经存在的RestTemplate对象创建对象也是如此。

我拥有的一种方法是自己实现线程池,然后使用 来点击请求RestTemplate,但我想知道是否有任何方法可以在不实现线程机制的情况下获取 json 对象而不是压缩内容。

下面是完整的代码

0 投票
1 回答
234 浏览

spring - AsyncRestTemplate 未调用 DELETE 端点

我需要使用删除方法在火中调用休息端点并忘记时尚。我不在乎结果。我正在尝试使用 AsyncRestTemplate 但未调用服务器端。如果我切换到 RestTemplate 一切正常。然后我注意到当我等待回复时

它也在工作。调用 PUT 端点没有任何问题(不必调用 get() 方法)。然后,我尝试使用超时,因为我不想等待响应并使用

在我的机器上,如果我设置 1 毫秒超时,那么端点被调用的可能性为 50%。在 50 毫秒时,它获得了 100% 的机会......

有什么想法有什么问题吗?

编辑:

我也试过

这已经奏效了。

不调用 get() 方法不起作用。

0 投票
1 回答
1788 浏览

java - 用超时阻塞 ListenableFuture

我正在使用 Spring 4.2.3 AsyncRestTemplate.exchange() 调用一些需要几秒钟的 API,并且我期望 listenableFuture.get(1, TimeUnit.SECONDS) 将阻塞 1 秒钟然后抛出 TimeOutException。

相反,listenableFuture.get() 将阻塞整个 api 调用时间(超过 1 秒)

输出:

这是一个示例,当不是由 AsyncRestTemplate 创建时,ListenableFuture.get() 将按预期工作

0 投票
2 回答
3759 浏览

spring - 等待一些 Spring ListenableFuture

有一项服务使用 SpringAsyncRestTemplate发送休息呼叫。每次调用AsyncRestTemplate.exchange()返回ListenableFuture。像这样的东西:

有没有办法创建一个ListenableFuture结合所有其他调用的单曲?像Futures.allAsList番石榴的东西。

0 投票
0 回答
571 浏览

java - 如何在 Spring 中使用缓存创建 AsyncRestTemplate?

我想创建一个AsyncRestTemplate也启用了 Http 缓存的...

根据我的阅读,似乎我需要通过创建 AsyncHttpClient 来显式启用 Http 缓存(如何创建异步缓存 http 客户端? )。

不幸的是,我找不到任何RestTemplate(或ClientHttpRequestFactory)允许我使用HttpAsyncClient接口的构造函数(令人沮丧的是HttpComponentsAsyncClientHttpRequestFactory采用CloseableHttpAsyncClient抽象类??)。

我目前正在考虑编写一个自定义ClientHttpRequestFactory作为输入AsyncRestTemplate- 我在正确的道路上吗?

有关的:

0 投票
3 回答
14726 浏览

java - 使用 AsyncRestTemplate 多次制作 API 并等待全部完成

我必须使用不同参数多次使用 RestTemplate 进行 Rest API 调用。API 是相同的,但它是正在更改的参数。次数也是可变的。我想使用 AsyncRestTemplate 但我的主线程应该等到所有 API 调用都成功完成。我还想处理每个 API 调用返回的响应。目前我正在使用 RestTemplate。基本形式如下。

在这种情况下如何实现 AsyncRestTemplate?

0 投票
1 回答
415 浏览

spring - 如何将 Apache CachingHttpAsyncClient 与 Spring AsyncRestTemplate 一起使用?

可以CachingHttpAsyncClientAsyncRestTemplate吗?HttpComponentsAsyncClientHttpRequestFactory期望 aCloseableHttpAsyncClientCachingHttpAsyncClient不扩展它。

0 投票
1 回答
829 浏览

java - Spring AsyncResttemplate HTTPs (SSL) 服务调用

我正在使用 Spring asyncresttempate 同时调用多个服务。这些服务通过 SSL 公开。你能告诉我如何使用 SSL 证书和 AsyncResttemplate 来异步调用服务吗?我们可以将 RestTemplate 与 HttpConnectionFactory 一起使用,如何为 AsyncRestTemplate 做同样的事情。

我正在使用 Spring 4.3,JDK 8。

0 投票
1 回答
1134 浏览

java - restTemplate 向 Netty Server 请求挂起线程

RestTemplate 示例如下。

Netty 从请求 channelRead 方法中读取数据

下面的代码工作正常,但我猜阻塞 io 和非阻塞 io 存在问题。发送请求时,我无法到达 HttpContent 我只能将 HttpRequest 作为 msg 参数。Spring resttemplate 等待响应,但 Netty 不在乎 :)

我的问题是如何通过 rest 模板从 netty 服务器获得响应。我尝试了很多方法来完成完整的请求/响应。当 restTemplate 请求 Netty 服务器时,它会挂起线程,所以我不能继续分布式内存缓存实现。

挂在 RestTemplate.java 行:681

使用 Netty4ClientHttpRequestFactory 时方法永远等待。