Spring ApplicationContext加载bean需要很长时间

Spring ApplicationContext加载bean需要很长时间,spring,javabeans,loading,applicationcontext,Spring,Javabeans,Loading,Applicationcontext,我有将近20个bean文件,每个文件中大约有300个bean。所有20个bean文件中的bean类型都相同,但值不同 我又创建了一个公共bean文件,并将这20个bean导入其中,并将这个公共bean文件作为ApplicationContext(FileSystemApplicationContext)创建bean的位置 前几个bean文件是以毫秒为单位加载的,比如直到6个文件 一秒钟内加载的bean文件很少,比如说直到10个文件 而且很少有bean文件是在4秒内加载的,比如说直到15个文件 最

我有将近20个bean文件,每个文件中大约有300个bean。所有20个bean文件中的bean类型都相同,但值不同

我又创建了一个公共bean文件,并将这20个bean导入其中,并将这个公共bean文件作为ApplicationContext(FileSystemApplicationContext)创建bean的位置

前几个bean文件是以毫秒为单位加载的,比如直到6个文件 一秒钟内加载的bean文件很少,比如说直到10个文件 而且很少有bean文件是在4秒内加载的,比如说直到15个文件 最后几个bean文件在8秒内加载,比如直到20个文件

我在spring日志文件中捕获了这些行为

为什么加载bean文件时,bean加载时间会逐渐增加。这是预期的行为吗?。在我的应用程序中,bean和bean文件的数量将增加,因此,由于这种行为,我的应用程序启动时间将急剧增加,这是不可接受的

是否有任何spring配置可以更改以加载包含大约2000个bean的大型bean文件

任何帮助都是值得的

问候,,
Arun V

试着通过增加JVM的内存来摆弄一下,看看是否有什么不同。同样值得将jconsole/jvisualvm附加到进程中,看看这是否是由于内存减少和整个GC周期的组合造成的。如果无法使用jconsole/jvisualvm,则可以启用gc输出(通过jvm参数),并可以研究生成的输出。尝试通过增加jvm内存来调整jvm的内存,看看是否有什么不同。同样值得将jconsole/jvisualvm附加到进程中,看看这是否是由于内存减少和整个GC周期的组合造成的。如果不能使用jconsole/jvisualvm,则可以启用gc输出(通过jvm参数),并可以研究生成的输出。