Apache Karafเป็นโครงการย่อยของApache เฟลิกซ์ ถูกกำหนดให้เป็น "คอนเทนเนอร์ OSGi น้ำหนักเบา"
ฉันไม่เข้าใจว่าฉันควรใช้เฮฟวี่เวทเมื่อไหร่และควรใช้ไฟแช็คเมื่อไหร่ ไซต์ของพวกเขาไม่ได้อธิบายเรื่องนี้มากเกินไป
Apache Karafเป็นโครงการย่อยของApache เฟลิกซ์ ถูกกำหนดให้เป็น "คอนเทนเนอร์ OSGi น้ำหนักเบา"
ฉันไม่เข้าใจว่าฉันควรใช้เฮฟวี่เวทเมื่อไหร่และควรใช้ไฟแช็คเมื่อไหร่ ไซต์ของพวกเขาไม่ได้อธิบายเรื่องนี้มากเกินไป
คำตอบ:
'การ OSGi ภาชนะที่มีน้ำหนักเบา' ฉลากตัดกันKarafมีคุณสมบัติเพิ่มเติมภาชนะ OSGi ที่อุดมไปด้วยไม่ได้กับเฟลิกซ์
หากต้องการอ้างอิง Guillaume Nodet (ผู้เขียนของ Karaf) จากที่นี่ :
Felix เป็นเพียงรันไทม์หลักของ OSGi Karaf จัดเตรียม "การแจกจ่าย" ตาม Felix โดยการเพิ่มคุณสมบัติอื่น ๆ เช่นคอนโซลกลไกการรีบูต SSH ตัวปรับใช้ไฟล์และอื่น ๆ
ในแผนภาพนี้ของสถาปัตยกรรม Karaf เฟลิกซ์ (หรือการใช้งาน OSGi อื่น ๆ - ปัจจุบันยังรองรับEquinox ) คือกล่อง OSGi ส่วนกล่องอื่น ๆ เป็นคุณสมบัติที่เพิ่มโดย Karaf:
ดังนั้นเว้นแต่คุณจะมีความต้องการเฉพาะที่ Karaf ไม่ได้รับการตอบสนอง (ต้องการการเข้าถึงการใช้งานพื้นฐาน) มักจะเหมาะสมที่จะใช้สิ่งนี้เนื่องจากให้ 'นอกกรอบ' มากขึ้น
@Marcel Karaf ไม่ใช่เสาหินหรือใหญ่เหมือนเซิร์ฟเวอร์ Java EE เป็นการใช้งานที่บางและเรียบง่ายมาก เป็นผลิตภัณฑ์หลักที่ไม่มีฟังก์ชั่นอื่น ๆ นอกเหนือจากคอนโซลพื้นฐานการโหลดไฟล์เพื่อให้คุณสามารถอ่านไฟล์คอนฟิกูเรชันได้จริง ฯลฯ ไฟล์ zip ล่าสุดคือ 19.1 MB ใช่. เล็ก สามารถทำงานบนอุปกรณ์ขนาดเล็กและทำงานแบบฝังตัวได้อย่างง่ายดาย
สิ่งที่คุณอาจคิดคือ ServiceMix ซึ่งใช้ Karaf เป็นแกน / เคอร์เนล แต่รวมถึง CXF, ActiveMQ, Camel และไลบรารีอื่น ๆ ในการกำหนดค่าทั้งหมด ถึงแม้จะมีขนาดเล็กปานกลางและเต็ม
จริงๆแล้วสำหรับ 99% ของโครงการที่นั่นมันไม่สมเหตุสมผลที่จะเริ่มโดยตรงกับเฟลิกซ์และไม่ใช้ Karaf แทน
ปัจจุบันโอเพนซอร์สโอเพนซอร์สที่ได้รับความนิยมมีอยู่สามรายการ:
- Equinox. It is the modular Java runtime at the heart of the Eclipse IDE, - Knopflerfish, Is an open source implementation of the OSGi R3 and OSGi R4 specifications. - Apache Felix. Is the open source OSGi container from the Apache Software Foundation.
โครงการ Apache มีคอนเทนเนอร์ OSGi สำหรับใช้งานทั่วไปที่เรียกว่า Felix ที่นี่ใช้เป็น ServiceMix และ
ข้อแตกต่างที่สำคัญระหว่าง ServiceMix และ Karaf คือ ServiceMix รวมส่วนประกอบการรวมอื่น ๆ ไว้มากมาย - นายหน้าข้อความ ActiveMQ, กลไกการกำหนดเส้นทางอูฐและสิ่งอื่น ๆ
อ้างอิง: http://kevinboone.net/osgitest.html