我们有一个web应用程序,其中我们的最终用户将被提供一个选项来动态地调度作业,以便向一组人发送某种类型的报告。即在UI中选择日期、时间和时区。使用Spring Boot调度程序动态调度作业。
目前,我们正在使用一个线程池来异步地将报告发送到一个调度作业的人员组。
@Async(“CustomTaskExecutor”)
public void callToAsyncMethod(User User){
System.Out.Println(“Hello”+User.GetName()+“,欢迎使用排定程序作业”);
}
@bean(“customTaskExecutor”)
public ThreadPoolTaskExecutor customTaskExecutor(){
· ThreadPoolTaskExecutor customTaskExecutor=新ThreadPoolTaskExecutor();
· customTaskExecutor();
· customTaskExecutor.SetCorePoolSize(5);
· customTaskExecutor.SetMaxPoolSize(10);
· customTaskExecutor.
在这里,所有调度程序任务都间接引用相同的线程池来执行异步方法。瓶颈问题出现的地方。
会有帮助...多谢了。
可以在application.properties中配置池大小。这将允许您同时执行多个计划程序。
spring.task.scheduling.pool.size=10
问题内容: 我是线程新手。我想创建一些与主线程分开工作的简单函数。但这似乎不起作用。我只想创建一个新线程,并在那里独立于主线程发生的事情做一些事情。这段代码看起来很怪异,但到目前为止,我对线程的了解还很少。你能解释一下这是怎么回事吗? 问题答案: 您正在线程方法中调用该方法。但是只有在线程已经启动时才调用该方法。改为这样做:
我正在创建一个可以监视100-150个设备的监视应用程序...现在要设计一个监视器应用程序,我有两种方法: > < li> 为每个要监控的设备创建一个线程,每个线程将ping(使用ICMP)设备以了解设备是否在线。这些线程将无限期地运行,以便在特定的时间间隔(比如60秒)后了解它们的状态。 创建一个线程池,并为每个设备提交一个任务到一个线程池。任务是简单地 ping 到设备。因此,在当前设计中,任
问题内容: 我有一个简单的线程是这样的: 编辑:开始运行的附加代码 它是主要活动的内部类。但是, 此线程 不是在主 活动 上 运行,而是在 另一个 在 主 活动上 运行的线程 内部 运行 。 无论如何,此示例与此处 完全相同 ,但是由于某种原因,它给了我java.lang.RuntimeException:每个线程只能创建一个Looper。 我没有创建任何其他循环程序,至少在任何地方都没有。 问题
我尝试分析一个gRPC java服务器。我主要看到下面的一组线程池。 null
最近我开始使用camel,我发现它有可能满足我的许多集成层需求。 我创建了一个java客户机应用程序(不在任何容器中运行),其中定义了两个路由: 路由1:将文件从传入文件夹1移动到文件夹2 route2:将文件内容从folderx移动到mq队列。 我启动我的应用程序,这些路由正在轮询这些文件夹并相应地路由消息。 谁能给我解释一下路线是如何工作的?骆驼(上下文)是否为每个路由创建线程。到底会发生什么