问题标签 [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 回答
562 浏览

java - 使用 java 8 运行 CompletableFuture 方法时出现问题

我有一个 Spring Boot 应用程序,我已经使用 jhispter 生成了该应用程序,我有一个具有如下预定方法的 Spring 服务:

此方法多次调用routerService.checkRouterStatusAsync(),如下所述。(我不需要等待这个方法的结果)

奇怪的是,该方法checkRouterStatusAsync的任何内容都没有出现在日志中。

这只发生在我的生产服务器上,它在本地有效。在双方(本地和生产中),我都安装了 Java 8。

我使用命令运行我的应用程序java -jar {myPackage}.war

任何人都可以帮助我吗?

0 投票
1 回答
829 浏览

java - 无法拦截 Spring @Async

我有一个用@Async. 此方法不在控制器中。我想在线程执行完成后拦截线程,以便清除某些 ThreadLocals。

我已经调查过了AsyncHandlerInterceptor,但是当控制器收到请求而不是在@Async执行之前和之后,这会被击中。

我想要的是一个像CallableProcessingInterceptor这样的拦截器,但是用于@Async操作。

0 投票
1 回答
677 浏览

spring - spring boot asynctask 处理对象数组

我的要求是从 http 请求中获取对象列表,我需要响应 202 并安排我的对象数组进行并行处理。

在我的示例中,我可能有 1000 名员工,并且我想并行处理 10 x 10,每个员工的业务逻辑可能需要 5 到 10 秒。

使用我上面的代码,它分配给异步任务,但异步任务正在一项一项执行。那么在这里我需要再创建一个 Async 任务并分配员工吗?还是异步任务有任何其他方式来处理列表?

0 投票
0 回答
17 浏览

spring-boot - spring异步任务在调用之前获取que使用情况

我正在使用异步任务处理一些大请求,我的详细信息如下

在这里我得到用户列表,它可能包含 50 个用户,所以在发布到异步任务之前我想知道我有足够的队列容量来容纳 50 个线程,如果没有,我必须返回调用者说我的服务器很忙。

那么如何获得当前的 que 使用情况?

0 投票
0 回答
54 浏览

java - 是否可以将任务重新提交给 Spring @Async 方法?

我有一个带有注释的 Spring 方法@Async

该方法调用远程服务,该服务偶尔会超时。有没有办法捕捉超时并在@AsyncN 秒后将任务重新提交给方法?

我怀疑从内部调用带注释的方法会起作用,因为 Spring 使用切入点来拦截调用。

我能想到的唯一方法是重写AsyncExecutionAspectSupport.handleError以重建 instanceof MethodInvocation,然后调用它的副本 AsyncExecutionInterceptor.invoke让我指定延迟。

还有其他方法吗?也许有人已经这样做了?


旁白

我可以想象一个解决方案,通过该解决方案@Async扩展为指定重试案例,其方式与 Spring 中管理事务的方式非常相似,但这比上述理论解决方案更基本!

0 投票
5 回答
6932 浏览

java - Spring @Async 中的默认值是什么?

你能告诉我 Spring 的默认参数是什么,@Async ThreadPoolTaskExecutor或者我如何找到自己的参数?

maxPoolSize、corePoolSize 和 queueCapcity 的默认值是多少?

我应该重写它们以改进我的应用程序还是使用默认值就可以了?

0 投票
3 回答
2703 浏览

java - spring boot rest api上的异步-注释应仅在服务上或控制器上

我必须在 Spring Boot 中实现一个具有异步功能的方法:

我对注释异步的位置有点困惑,基本上我的休息控制器如下:

服务类如下:

我已按如下方式配置了我的异步 bean:

我的问题是 SendMailServiceImpl 上的注释 @Async 是正确的还是我需要将它添加到控制器的方法 sendMailCon 中?

0 投票
1 回答
90 浏览

java - Spring:具有基于日期时间的队列的任务执行器服务

我想为任务实现一个执行器服务,该服务将在一段时间后开始运行,例如假设我有这些任务;

当我将所有这些提交给执行者服务时,我应该得到以下结果;

(5 分钟后):
......任务 3 正在运行......
(10 分钟后)
......任务 1 正在运行......
(15 分钟后)
......任务 2 正在运行......
(30 分钟后)
...任务 4 正在运行...

我可以找出如何实现这一点。你能帮帮我吗?

0 投票
1 回答
18 浏览

spring-boot - 在正在运行的应用程序中调用 Scheduled Async bean 方法

我有一个计划每天运行一次的 Async 方法:

当应用程序已经运行时,是否有一种方法可以触发doDailyTask()测试,也许是通过使用 Groovy 和反射做一些聪明的事情?

我想我总是可以在我的文件中将 cron 属性调整为 1 分钟application.properties,然后重新启动应用程序 - 但只是想知道是否有更智能的方法?

0 投票
2 回答
158 浏览

spring-boot - 如果我在 spring-boot 中以服务级别提供 @Async 将不起作用

我在控制器中自动装配服务。在服务中,我有一个需要抛出异常和数据库更改的场景。所以,我尝试了@Async

这不是创建新线程。但是,如果我在回购中给出,它会起作用