当前位置: 首页 > 面试题库 >

在使用Spring 3.0的方法中使用@Async时提供超时值

郭坚壁
2023-03-14
问题内容

我浏览了文档,但找不到使用Spring 3.0使用@Async带注释的方法时,是否有办法为生成的异步操作指定超时。

有没有办法做到这一点?我认为这在触发异步计算时非常重要。


问题答案:

@Async注释不提供超时,因为超时应由函数的调用者而不是函数本身决定。

我假设您是在@Async-annotated方法上引用超时,该方法返回结果。此类方法应返回的实例Future,并且get()on Future方法用于指定超时。

例如

@Async
public Future<String> doSomething() {
   return new AsyncResult<String>("test");
}

然后

Future<String> futureResult = obj.doSomething();  // spring makes this an async call
String result = futureResult.get(1, TimeUnit.SECOND);


 类似资料:
  • 但是现在我想为任何未显式设置的字段提供默认值。因此,如果我这样做了,那么将创建一个具有所有默认值的对象:

  • 我正在使用Spring4 AsyncRestTemplate调用外部REST API服务。 在该方法中,我注册来自REST API调用的ListenableFuture响应的回调。 除了单元测试,我不使用返回的ListenableFuture。回调将根据请求的成功或失败来处理我想采取的实际操作。 ExternalServiceImpl.class

  • 我尝试使用MockWebServer对我的应用编程接口的各种响应。我做了一个简单的例子,只是为了尝试我想做的是一种工作方法。 mockWebServer不是要“模拟”我的http连接的endpoint吗?像真正的服务器?每当我试图打电话时,我都会感到莫名其妙的惊讶。 我用错了吗?它不应该只是替换服务器的响应吗?(嘲笑) E D I T: 我在清单上有互联网许可。 我使用: 代码: Logcat:

  • 问题内容: 有人在DiskLruCache上工作吗? http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html 提供了使用此缓存方法的示例。但是我发现在4.0源代码中DiskLruCache的实现没有定义方法。知道如何使用吗? 问题答案: 您可以将Picasso用作图像加载器。 要么 这是我所做的: 我使用

  • 问题内容: 何时使用ajax调用中使用async false或async true。就性能而言,有什么不同吗? 例如: 问题答案: 这与性能无关… 当需要在浏览器传递给其他代码之前完成该ajax请求时,请将async设置为false:

  • 我是新手。我的应用程序是一个spring boot应用程序。消费者在协议代理中创建了协议。现在我正在尝试从providers端运行测试,我正在使用gradle插件来运行测试。我有几个问题: > 使用者发布 协议没有指定任何状态。这意味着我不需要在提供者端使用任何stateChangeUrl? 我想实现的是:当我说pactVerify 服务器启动,我的Spring Boot应用程序应该在localh