Apache Karaf là một dự án phụ của Apache Felix . Nó được định nghĩa là "một thùng chứa OSGi nhẹ".
Tôi không hiểu khi nào nên sử dụng hạng nặng và khi nào nên sử dụng trọng lượng nhẹ. Trang web của họ không giải thích điều này quá nhiều.
Apache Karaf là một dự án phụ của Apache Felix . Nó được định nghĩa là "một thùng chứa OSGi nhẹ".
Tôi không hiểu khi nào nên sử dụng hạng nặng và khi nào nên sử dụng trọng lượng nhẹ. Trang web của họ không giải thích điều này quá nhiều.
Câu trả lời:
Nhãn 'thùng chứa OSGi nhẹ' tương phản Karaf với các thùng chứa OSGi phong phú hơn, không phải với Felix .
Để trích dẫn Guillaume Nodet (tác giả của Karaf) từ đây :
Felix chỉ là thời gian chạy lõi OSGi. Karaf cung cấp "phân phối" dựa trên Felix bằng cách thêm các tính năng khác như bảng điều khiển, cơ chế từ xa SSH, trình triển khai tệp và hơn thế nữa.
Trong sơ đồ này của kiến trúc Karaf, Felix (hoặc triển khai OSGi khác - hiện tại Equinox cũng được hỗ trợ) là hộp OSGi, các hộp khác là các tính năng được Karaf thêm vào:
Do đó, trừ khi bạn có những nhu cầu cụ thể không được Karaf đáp ứng (yêu cầu quyền truy cập vào triển khai cơ bản), thường sẽ hợp lý khi sử dụng điều này vì nó cung cấp nhiều hơn 'ngoài hộp'.
@Marcel Karaf không nguyên khối hay to lớn như máy chủ Java EE. Đó là một thực hiện rất mỏng và tối giản. Nó là một sản phẩm cốt lõi không có nhiều chức năng ngoài giao diện điều khiển cơ bản, tải tệp để bạn thực sự có thể đọc các tệp cấu hình, v.v ... Tệp zip mới nhất của nó là 19,1 MB. Vâng. Nhỏ. Nó có thể dễ dàng chạy trên các thiết bị nhỏ và hoạt động trong nhúng.
Những gì bạn có thể nghĩ đến là một cái gì đó giống như ServiceMix sử dụng Karaf làm lõi / kernel. Nhưng nó bao gồm CXF, ActiveMQ, Camel và các thư viện khác trong cấu hình đầy đủ của nó. Thậm chí sau đó chúng có kích thước tối thiểu, trung bình và đầy đủ.
Thực sự, đối với 99% các dự án ngoài kia, sẽ không có ý nghĩa gì khi bắt đầu trực tiếp với Felix và không sử dụng Karaf thay thế.
Hiện tại, có ba thùng chứa OSGi mã nguồn mở phổ biến:
- 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.
Dự án Apache duy trì một thùng chứa OSGi đa năng có tên là Felix. Ở đây được sử dụng như ServiceMix và
Sự khác biệt chính giữa ServiceMix và Karaf là ServiceMix gói một loạt các thành phần tích hợp khác - nhà môi giới tin nhắn ActiveMQ, công cụ định tuyến Camel và một số thứ khác