Tag: 春季引导

Spring引导启动缓慢的树莓PI

使用Spring Boot 2作为一个IoT应用程序,我注意到Spring的启动时间过于缓慢。 该平台是一个树莓派2B – 当然,这将是比电脑显着慢。 对于正常的代码执行,我测量一个20倍到50倍的差异。 春季开机启动时间在我的电脑(Win10的x64):5秒 在PI(Ubuntu Server,运行jar的docker中的ARM java)上启动Spring启动时间:11分钟 如果我使用我曾经测量过的最高的因子(50x),我预计会看到启动时间少于当前状态的一半。 到目前为止,我尝试过: 从自动配置中排除依赖关系(现在最小,只有spring-boot-starter-web,kotlin,spoow,webflux,reactor和kafka) 在DEBUG上进行日志记录,看看安静时期发生了什么事情(大部分的bean都被设置好了,没有什么可疑的,尽管一些bean需要几秒钟才能加载) ARM上不同的Docker镜像(无效) CPU一直在100%,内存在20%左右,并有足够的磁盘空间 我的初步结论是加载豆吃所有的CPU周期。 我想,初始化一个bean不应该花几秒钟,但它确实。 这里可能是什么瓶颈? 我可以让Spring以任何方式加载更快吗? 这是PC的输出的第一部分: 2018-01-06 13:43:03.462 INFO 9144 — [ main] cebBasestationApplicationKt : Starting BasestationApplicationKt on GPC with PID 9144 (C:\Data\Code\exmatina\git\basestation\out\production\classes started by Guido in C:\Data\Code\exmatina\git) 2018-01-06 13:43:03.471 INFO 9144 — [ main] cebBasestationApplicationKt : The following […]

如何注入接口的具体实现?

在spring(启动)我有一个接口的多个实现。 当注入接口时,我想定义我要注入哪个特定的实现。 我怎样才能做到这一点?