问题标签 [spring-async]

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 投票
0 回答
285 浏览

spring - Spring @Async 延迟

我正在尝试使用 Spring 定义一个 Async 方法,该方法需要在同步函数结束时调用,如下所示:

我需要在开始执行之前添加 10 秒的延迟,asyncFunction并且希望避免添加Thread.sleep(). 我还探索了@Scheduled注释,但它似乎不适用于one-time计划任务。使用 Spring 实现这一目标的最佳方法是什么?提前致谢。

0 投票
2 回答
722 浏览

spring-boot - Spring Web Flux 和 Spring Async 方法有什么区别?

我是 Spring Reactive 编程和 Spring Async 方法的新手。我有个疑问。通过使用 spring webflux,我们可以进行反应式编程,这样我们就可以执行一段特定的代码,而我们当前的线程不需要等待它完成执行。同样,通过使用@async 方法,我们可以使特定的代码在不同的线程中运行,这样我们当前的线程就不会等待。

那么在这些情况下,webflux 和 async 方法有何不同以及何时使用哪个?

0 投票
1 回答
254 浏览

java - Spring boot:使用异步方法作为同步方法

我有一些场景

  1. 调度程序(重复调用)应该调用一个异步函数,比如 fun()。
  2. 控制器应该调用相同的函数 fun() 并根据成功完成返回结果(通过检查异常)

请给我一些带有适当符号的骨架。

0 投票
0 回答
66 浏览

java - Spring Boot异步线程未完成任务

我一直在研究一个爬虫,我必须在某个特定的服务器上发出 1000 多个请求。到目前为止,它运行良好。但是现在异步任务没有完成。这是我的示例代码。

对于前 150 到 200 个 url,它工作正常。但过了一段时间,我可以看到日志卡在Now Executing之后什么都没有发生。有一段时间,该过程在 1 小时后才恢复。任何人都可以在这方面帮助我。我不知道为什么它会这样。它不应该在完成任务之前停止。任何帮助,将不胜感激。

0 投票
2 回答
305 浏览

java - 如果任何线程发生异常,则中断所有线程

我有一个方法名称someTask,我必须调用 100 次,并且我使用如下异步编码。

如果在执行时任何线程发生异常,someTask()我想中断所有当前线程并阻止未来线程执行。处理这个问题的最佳方法是什么?

更新:我正在使用ThreadPoolTaskExecutor.

0 投票
0 回答
84 浏览

java - 在不配置 JobLauncher 的情况下异步启动 Spring 批处理作业

我知道您可以通过配置JobLancherwith来异步启动工作TaskExecutor

但是,鉴于我有以下服务作为示例:

和调用process()工作的控制器:

如何process()在后台异步运行,以便能够response立即返回创建?我已经TaskExecutor在我的应用程序中创建了一个异步 bean。我只是不确定如何调用process()异步。我需要整个process()异步,而不仅仅是作业的运行。

0 投票
1 回答
720 浏览

spring-boot - 如果同时使用 @EnableAsync 和 @EnableWebSocketMessageBroker,则 Spring boot 2.2.6 不会引导

我正在尝试使用 Web 套接字和@Async任务。

所以我创建了2个配置类:

我还有一个服务注入AsyncTaskExecutor

在此之后,我的应用程序无法启动,并报告此错误:

我该如何解决这个问题?

0 投票
1 回答
213 浏览

spring-async - 是否可以在 Spring[5] 中支持同步和异步应用程序事件

在应用程序中,我试图触发同步和异步事件。

这样做很好吗?

0 投票
2 回答
1552 浏览

java - Spring boot @Async 方法实际上是如何异步/非阻塞的?

下面的例子取自Spring 的 Getting Started Creating Asynchronous Methods。

AFAIK 我对计算机科学中异步方法的了解 -它应该立即返回。它应该是非阻塞的。

所以让我们在 Spring 的某个地方说我的代码findUser()是这样调用的:

这实际上会阻塞。它会阻塞服务上的另一个线程,Executor但由于 Thread.sleep(1000L). 正确的 ?

那么这个异步如何?

我的意思CompletableFuture是要获得对未来将要完成的计算的引用。但是在这里,当我回到完整的未来时,计算已经结束,即。我们正在使用 CompletableFuture.completedFuture(results).

那么CompletableFuture在这种情况下有什么意义呢?我的意思是,如果我要阻塞并仅在我的计算结束并且我得到结果时返回,我还不如只返回结果而不是 CompletableFuture.

这真的是非阻塞/异步的吗?

我在这里发现的唯一非阻塞方面是卸载到不同的线程,仅此而已。

我在某个地方出错了吗?我错过了什么?

谢谢。

0 投票
1 回答
808 浏览

spring-boot - Spring Async 获取当前 Executor

Async通过实现AsyncConfigurer和覆盖getAsyncExecutor来定义我的Executor. 现在我想公开一个端点,以返回 Async 使用的 Executor 的当前队列大小、线程数等。但是我找不到一种方法来查找或自动连接 Async 使用的当前执行程序。我在想我可以定义一个bean,该getAsyncExecutor方法和我的报告服务都将使用它。但我想知道是否有一种更简单/更合适的方式可以与 async 交互以获取当前的Executor.

我目前的配置: