Apache Camel มีสองวิธีในการผสานรวมกับ Spring Boot:
- อูฐสปริงบูต
- อูฐสปริงบูตสตาร์ทเตอร์
เมื่อฉันดูสตาร์ทเตอร์ ฉันเห็นว่ามีเพียงคาเมลสปริงบูทและสปริงบูตสตาร์ทเตอร์เท่านั้น แล้วความแตกต่างคืออะไร และข้อดีของการใช้สตาร์ทเตอร์คืออะไร?
Apache Camel มีสองวิธีในการผสานรวมกับ Spring Boot:
เมื่อฉันดูสตาร์ทเตอร์ ฉันเห็นว่ามีเพียงคาเมลสปริงบูทและสปริงบูตสตาร์ทเตอร์เท่านั้น แล้วความแตกต่างคืออะไร และข้อดีของการใช้สตาร์ทเตอร์คืออะไร?
ในขณะที่เขียนคำตอบนี้ camel-spring-boot
ได้รับการสนับสนุนจาก Camel 2.15 เท่านั้น และ camel-spring-boot-starter
จาก Camel 2.17 เท่านั้น ซึ่งมีความสำคัญเมื่อพิจารณาถึงเวอร์ชันปัจจุบันที่โปรเจ็กต์ของคุณใช้อยู่
ความแตกต่างที่สำคัญระหว่างการขึ้นต่อกันทั้งสองนี้อยู่ที่การกำหนดค่าอัตโนมัติ "ตามความเห็น" ที่มาจากสตาร์ทเตอร์
camel-spring-boot
ควรใช้หากคุณต้องการเพียงรวม jar เพื่อให้เส้นทางอูฐของคุณค้นพบอัตโนมัติโดย spring boot สิ่งนี้ยังให้อิสระแก่คุณในการอัปเดตการพึ่งพานี้โดยไม่คำนึงถึงเวอร์ชัน spring-boot ของคุณ
camel-spring-boot-starter
, (แนวทางที่แนะนำ) ควรใช้หากคุณต้องการคอลเลกชันของการขึ้นต่อกัน (รวมถึง Camel-spring-boot) ที่ให้ประสบการณ์นักพัฒนา/ผู้ใช้ที่ดีที่สุด เนื่องจากคุณสมบัติที่ปรับแต่งได้ ไลบรารีเพิ่มเติม และการกำหนดค่าเริ่มต้นสำหรับไลบรารีอูฐ ตรวจสอบเอกสารอ้างอิงสำหรับสตาร์ทเตอร์: https://camel.apache.org/components/latest/spring-boot.html#_spring_boot_auto_configuration
camel-spring-boot
หากคุณต้องการให้ขวดวานิลลาใช้สีคาเมลกับรองเท้าแบบสปริงcamel-spring-boot-starter
หากคุณต้องการให้ส่วนประกอบที่กำหนดค่าอัตโนมัติเริ่มพัฒนาด้วยคุณควรใช้การขึ้นต่อกัน camel-xxx-starter
เสมอ เนื่องจากส่วนประกอบเหล่านี้เป็นส่วนประกอบของ Camel ที่รองรับ Spring Boot ตามที่กล่าวไว้พวกเขามีการกำหนดค่าอัตโนมัติและความสามารถเพิ่มเติมบางส่วน
หากไม่มีส่วนประกอบ camel-xxx-starter
แสดงว่าเป็นเพราะ Spring Boot with Camel ไม่รองรับ
ดูเพิ่มเติมได้ที่: https://github.com/apache/camel/tree/master/platforms/spring-boot/components-starter#camel-component-starters