Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

มาใช้งาน Lazy Initialization ใน Spring Boot 2.2.0 กัน

$
0
0

หลังจากที่ Spring Boot 2.2.0 ออกด้วย final ออกมาให้ใช้งาน
มีการปรับปรุงหลาย ๆ อย่าง
หนึ่งในนั้นคือ การปรับปรุงประสิทธิภาพของการทำงานให้เร็วขึ้น
นั่นก็คือ Lazy initialization
ช่วยลดเวลา startup ของ application นั่นเอง
รวมทั้งยังลดจำนวนการใช้งานหน่วยความจำอีกด้วย
น่าจะทำให้การพัฒนา service ดีขึ้นอีกด้วย

มาดูการใช้งานกันหน่อย

ซึ่งไม่ได้ยากอะไรเลย เพียงแค่เพิ่ม configuration เข้าไปเท่านั้นเอง

[gist id="3b8f66774f619c943616c1ab4a481bf5" file="1.txt"]

แต่การใช้งาน Lazy initialization ก็มีข้อเสียเช่นกัน

เนื่องจากไม่ได้สร้าง instance ของ bean ต่าง ๆ ใน application ของเราขึ้นมา
ทำให้ exception ที่ต้องเกิดขึ้นตอน startup หายไป
แต่ไปเจอตอนใช้งานแทน
การส่ง HTTP request เข้ามาครั้งแรก จะใช้เวลานานขึ้น
เนื่องจากต้องไป instance ของ bean ที่ต้องใช้งานขึ้นมานั่นเอง

ใน Spring Boot 2.2.0 ยังมีความสามารถอื่น ๆ อีก

ยกตัวอย่างเช่น

  • สนับสนุน Java 13
  • Immutable binding
  • สนับสนุน RSocket
  • สามารถจัดกลุ่มใน Healhcheck ผ่าน actualtor ได้ง่ายขึ้น ทำให้แยกกลุ่มระหว่าง liveness และ readiness ได้ง่าย

Reference Websites


Viewing all articles
Browse latest Browse all 1997

Trending Articles