Saya memiliki aplikasi Spring Boot. Saya telah menambahkan banyak dependensi (sayangnya, sepertinya saya membutuhkan semuanya) dan waktu startup naik cukup banyak. Hanya melakukan SpringApplication.run(source, args)
10 detik.
Meskipun itu mungkin tidak banyak dibandingkan dengan apa yang "biasa", saya tidak senang bahwa itu membutuhkan sebanyak itu, terutama karena itu merusak aliran pengembangan. Aplikasi itu sendiri agak kecil pada saat ini, jadi saya berasumsi sebagian besar waktu terkait dengan dependensi yang ditambahkan, bukan kelas aplikasi itu sendiri.
Saya berasumsi masalahnya adalah pemindaian classpath, tetapi saya tidak yakin bagaimana caranya:
- Konfirmasikan bahwa masalahnya (yaitu cara "men-debug" Spring Boot)
- Jika memang itu penyebabnya, bagaimana saya bisa membatasinya, jadi lebih cepat? Misalnya, jika saya mengetahui bahwa beberapa dependensi atau paket tidak berisi apa pun yang seharusnya dipindai Spring, apakah ada cara untuk membatasinya?
Saya berasumsi bahwa meningkatkan Spring agar memiliki inisialisasi kacang paralel selama startup akan mempercepat banyak hal, tetapi permintaan peningkatan itu telah dibuka sejak 2011, tanpa kemajuan apa pun. Saya melihat beberapa upaya lain di Spring Boot itu sendiri, seperti Investigate Tomcat JarScanning peningkatan kecepatan , tetapi itu khusus Tomcat dan telah ditinggalkan.
Artikel ini:
meskipun ditujukan untuk tes integrasi, menyarankan untuk menggunakan lazy-init=true
, namun saya tidak tahu bagaimana menerapkan ini ke semua kacang di Spring Boot menggunakan konfigurasi Java - ada petunjuk di sini?
Setiap saran (lainnya) akan diterima.
@ComponentScan
itu dipindai juga. Hal lainnya adalah memastikan Anda belum mengaktifkan debug atau pelacakan logging karena umumnya logging lambat, sangat lambat.