2010-10-08 37 views

Trả lời

11

Bạn có thể xem câu hỏi này: OSGI runtime inside traditional Java EE server.

Trong mô hình cầu này, một servlet đặc biệt được cài đặt và Tomcat gọi servlet này để xử lý yêu cầu. Thời gian chạy OSGi được sinh ra từ bên trong servlet này, nhưng bản thân thời gian chạy OSGi (ví dụ: equinox) là bất khả tri về những thứ như HTTP. Gói dịch vụ OSGi HTTP cũng được cài đặt và bạn sẽ cần phải đăng ký ứng dụng web (servlet, jsp, ...) của bạn với dịch vụ HTTP OSGi này để xử lý các yêu cầu gửi đến. Vì vậy, nó không giống như có một "máy chủ web" riêng biệt để nói về điều đó lắng nghe trên cổng riêng của mình và quản lý HTTP trên riêng của mình bên ngoài Tomcat. Số dặm của bạn có thể thay đổi, nhưng chi phí cơ bản giới hạn cho bất kỳ dịch vụ HTTP OSGi nào có thể thêm khi nó chuyển tiếp yêu cầu từ trình kết nối Tomcat đến servlet của bạn.

Mô hình cầu này là cần thiết nếu bạn không thể thay đổi mô hình triển khai hiện tại. Về lâu dài, một mô hình tốt hơn là có thời gian chạy OSGi đầu tiên và có Tomcat (hoặc bất kỳ thùng chứa tuân thủ OSGi) nào khác vào thời gian chạy OSGi như các gói.

+0

Tôi hiểu, điều đó thật thú vị. Vì vậy, bạn có nghĩa là một cách khác là chạy OSGI như một "máy chủ web" của riêng nó? Nhưng làm thế nào máy chủ của osgi hiệu suất, so sánh với một cái gì đó như Apache? – drozzy

+0

Có thể sử dụng một cái gì đó như Jersey với OSGi, kiểm tra các lớp được chú thích và chuyển tiếp yêu cầu đến url đã cho đến lớp thích hợp không? – drozzy

+0

Tôi không thể nói vì tôi chưa chơi với Jersey nhiều, nhưng tìm kiếm trên web cho áo + osgi dường như mang lại nhiều nội dung. – sjlee

Các vấn đề liên quan