1

我正在开发一个 Spring Batch 应用程序,它从 Oracle 数据库中获取数据。它包含大约 20L 的数据。我实现了并发限制为 20 的AsynchronousTaskExecutor ,油门限制为 10。对于数据源,它是 - spring.datasource.max-active=50

以下是我的应用程序的线程图 (JProfiler)。它显示了更多处于阻塞和等待状态的线程。我想明白为什么会这样。另外,如何提高批处理的性能?

在此处输入图像描述

4

1 回答 1

0

您必须使用“监视器和锁”部分中的视图来获取有关锁定部分的更多信息。如果您在那里记录监视器,线程视图(在您的屏幕截图中)将具有工具提示,其中包含有关等待和阻塞状态的堆栈跟踪。

于 2021-04-02T19:15:05.307 回答