cùng một câu hỏi xuất hiện trong đầu của tôi và tôi đã nhận kết quả như sau:
1: Gemini được dựa trên mùa xuân trong đó có còn là một nhiều quá khứ và tỏ ra rất nhiều. Khi tôi nhìn vào mã Gemini dường như sạch hơn một chút với nhiều khả năng mở rộng hơn tuy nhiên tôi đã có vấn đề với các trình xử lý không gian tên. Ngay cả với phiên bản 1.0.0 nó đã không chờ xử lý không gian tên. Bạch Dương chờ xử lý NS theo cách tương tự như nó đợi các tham chiếu bắt buộc. Tôi hỏi các nhân viên OSGi và họ nói rằng thông số Blueprint tiếp theo có thể chứa một API xử lý NS tiêu chuẩn theo ý kiến của tôi sẽ giúp ích rất nhiều. Kết luận của tôi là tôi sử dụng Apache Aries nhưng nó không phải là quyết định cuối cùng. Tôi xem lại chủ đề này trong mỗi quý của năm. Tôi cũng đã thực hiện một số gợi ý về cách cải thiện Kế hoạch chi tiết và tải nó lên OSGi bugzilla. Tôi muốn thực hiện những cải tiến này trong mùa hè và khi tôi xem xét mã, nó sẽ dễ dàng hơn nhiều dựa trên Gemini.
2: Gemini chứa Tomcat được nhúng. Nếu bạn chỉ đơn giản là thả các bó vào một phân tích thì nó hoạt động khá tốt. Tuy nhiên nó có chứa một số phụ thuộc vào mùa xuân mà tôi muốn tránh. Tôi thích mùa xuân nhưng tôi muốn phụ thuộc ít hơn khi tôi cần. Tôi không nghĩ rằng Aries có bất kỳ hỗ trợ lớn trong chủ đề này.Cuối cùng tôi đã bắt đầu sử dụng Jetty hoạt động với Myfaces và Jersey cho đến bây giờ. Tôi đã không thử bất cứ điều gì khác cho đến bây giờ. Ngoài ra tôi thích khả năng cấu hình của Jetty hơn. Gói cấu hình có thể được định nghĩa là một biến môi trường có thể giúp ích rất nhiều nếu bạn muốn chạy các phép kiểm thử tích hợp như là một phần của vòng đời xây dựng của bạn. Nếu Gemini hỗ trợ nhiều tùy chọn cấu hình hơn (như đến từ gói), tôi sẽ nghĩ đến việc chuyển sang tùy chọn đó.
3: Vì tôi thích sử dụng JTA, tôi không thể sử dụng Gemini chút nào. Tôi đã sử dụng Aries JPA cho yên tĩnh một thời gian và tôi đã hài lòng với nó. Khi tôi làm việc với nhiều đồng nghiệp, tôi chịu trách nhiệm về hiệu quả của họ. Với Aries JPA, tôi có vấn đề là nó không đợi các dịch vụ DataSourceFactory (nếu kết nối db được định nghĩa trong persistence.xml) hoặc các dịch vụ DataSource (nếu nguồn dữ liệu jta hoặc nguồn dữ liệu không phải jta) được định nghĩa. Điều đó có nghĩa là thứ tự khởi đầu của gói quan trọng khi bạn sử dụng Aries JPA.
Nó không phải là một vấn đề cho đến khi chúng tôi sử dụng Glassfish và JNDI như Glassfish bắt đầu các nguồn lực JNDI trước khi gói OSGI của chúng tôi. Khi chúng tôi dọn dẹp hộp chứa OSGI, chúng tôi bắt đầu có vấn đề và đồng nghiệp của tôi bắt đầu dành một lượng lớn thời gian cố gắng để có được gói bắt đầu đúng.
Cuối cùng, tôi chỉ cần gói Aries JPA vào một gói và viết lại các phần tôi không thích. Điều này có nghĩa là tôi chỉ giữ phần phân tích cú pháp persistence.xml và tạo một dự án riêng tại http://everit.org/osgi/jpa/org.everit.osgi.jpa.container/index.html nơi mà tôi tập trung không gặp khó khăn này. Hiện tại nó hoạt động với Hibernate và tôi đoán (chưa thử) với Eclipselink và biên dịch tăng cường thời gian OpenJPA. Vùng chứa được viết bởi tôi hoạt động tốt với trình quản lý không gian tên org.apache.aries.jpa.container.context và aries jpa blueprint.
4: Nếu bạn sử dụng một máy chủ ứng dụng và bạn chắc chắn rằng môi trường JNDI của bạn bắt đầu trước các gói của bạn hơn là sử dụng nó. Tuy nhiên bạn không thể nắm bắt được sự sửa đổi hoặc loại bỏ một tài nguyên JNDI do đó tôi không đề nghị sử dụng nó bên trong OSGi chút nào. Nếu bạn cần nó vì JPA tôi có thể đề xuất việc triển khai vùng chứa của tôi :) sử dụng trình theo dõi dịch vụ OSGi tiêu chuẩn ngay cả khi bạn sử dụng * -data-source trong persistence.xml của bạn với biểu thức osgi: service/.... Nếu bạn cần một nơi cấu hình trung tâm, tôi khuyên bạn nên kiểm tra tab Configuration của felix-webconsole, các phần Metatype và Configuration Admin của đặc tả OSGi. Nếu bạn định nghĩa một thiết lập cấu hình với sự trợ giúp của các kiểu dữ liệu, chúng sẽ có sẵn trên feilix-webconsole và thông qua API quản trị cấu hình, bạn sẽ có thể nắm bắt các sự kiện thay đổi cấu hình. Tôi đã thử nghiệm và felix-webconsole đã làm việc cho tôi trên cặp Equinox-Jetty.
Hy vọng thông tin đầu vào của tôi hữu ích!
Nguồn
2012-05-29 23:19:43