2009-02-04 38 views
5

Tôi xin lỗi trước nếu câu hỏi của tôi có vẻ quá chung chung - Tôi đang làm tất cả các nghiên cứu sơ bộ bản thân mình nhưng không có gì thay thế kinh nghiệm thực tế ...Chọn nhúng EJB container 3.x để chạy Java EE 5 ứng dụng trên Tomcat

My mục tiêu là chuyển một ứng dụng Java EE kế thừa (pre-EJB 3.x) sang Tomcat với vùng chứa EJB được nhúng. lựa chọn của tôi hiện đang đứng như sau:

  • JBoss nhúng EJB
  • Apache OpenEJB
  • OW2 Consortium EasyBeans
  • gì nữa không?

Tôi hy vọng sẽ sử dụng JMS (với MDB), Đậu phiên (trạng thái và không quốc tịch), JPA và tôi thực sự vui mừng khi sử dụng JSF với Seam.

Bây giờ, có những lựa chọn ở trên, có lợi thế nào khi sử dụng một hoặc một nhà cung cấp EJB được nhúng khác không?

Trả lời

6

Dưới đây là kết quả của bài tập về nhà của tôi - hy vọng một người nào đó thấy phân tích các nhà cung cấp EJB được nhúng này hữu ích khi quyết định sử dụng vùng chứa nào.

Tôi đã đi với Apache OpenEJB vì nó cung cấp các tính năng phong phú, hỗ trợ một phần EJB 3.1 và có vẻ là dịch vụ tích cực và được làm tròn tốt nhất.

Như thường lệ, sản phẩm nào sẽ hoạt động tốt nhất cho bạn thực sự phụ thuộc vào yêu cầu, mục tiêu và môi trường thực tế của bạn.

Embedded JBoss

  • Giấy phép: LGPL
  • Java: JDK 5.0
  • Tomcat hội nhập: Vâng, sửa đổi để server.xml
  • Tomcat phiên bản : 5.0 trở lên (?)
  • triển khai để Tomcat: chiến tranh Embedded
  • Danh sách các tính năng: JNDI (địa phương), JBoss TS, JBoss Messaging, JCA, JNDI, EJB, JPA, TX nguồn dữ liệu/kết nối hồ bơi địa phương, EJB Cấu hình bảo mật JNDI: ghi đè việc thực hiện JNDI của Tomcat bằng cách tự phân lớp trên phần đầu của bản JNDI của Tomcat; Tomcat JNDI là read-only
  • loại Deployment: JAR chỉ
  • hỗ trợ quản lý: Không
  • Hỗ trợ: giới hạn, được xây dựng trên JBoss Microcontainer đó là cốt lõi của JBoss 5.0, tùy chọn được hỗ trợ cho Đường may trên Tomcat
  • Nhà cung cấp JMS: cùng một tệp cấu hình như JBoss 5.x. JMS được cấu hình trong HSQLDB-bền bỉ-service.xml, và điều này có thể được điều chỉnh để làm việc với cơ sở dữ liệu khác
  • XA Connection Pool: Không
  • EJB hẹn giờ Dịch vụ: Không
  • * Persistence Nhà cung cấp: * Hibernate
  • Hạn chế: không có JMS từ xa; chỉ giao diện cục bộ; địa phương chỉ JBoss thực hiện JNDI
  • Documentation: giới hạn
  • EJB 3.1: Không

Apache OpenEJB 3,1

  • Giấy phép: Apache License
  • * Java: * JDK 5.0 hoặc 6.0
  • Tomcat hội nhập: Vâng, sửa đổi để khởi động shell script
  • * Các phiên bản Tomcat: * Tomcat 6.x hoặc 5,5
  • * Triển khai để Tomcat: * tập tin chiến tranh
  • * Danh sách các tính năng: * EJB 3.0 và 3.1, JTA, JAX-WS, JMS, kết nối J2EE, JPA, JNDI. OpenEJB sử dụng một số khung công tác mã nguồn mở khác như OpenJPA để cung cấp sự ổn định JPA và CMP, ActiveMQ cho JMS/MDB và Apache CXF cho các tính năng JAX-WS.
  • * cấu hình JNDI: * schema đặt tên JNDI linh hoạt
  • * loại Triển khai: * Collapsed EAR (chiến tranh), JAR
  • hỗ trợ quản lý: ActiveMQ JMX mbeans
  • * Hỗ trợ: * Hỗ trợ cộng đồng, danh sách gửi thư và các diễn đàn, EJB container cho Apache Geronimo
  • * JMS Nhà cung cấp: * ActiveMQ
  • * XA Connection Pool: * Có
  • * EJB hẹn giờ Dịch vụ: * Có
  • * Nhà cung cấp kiên trì: * OpenJPA, Hibernate
  • * Hạn chế: * OpenEJB sử dụng OpenJPA để cung cấp sự ổn định JPA và CMP, và OpenJPA hiện yêu cầu JavaAgent hoạt động đúng.
  • * Tài liệu: * giới hạn nhưng tốt hơn so với những người khác
  • * EJB 3.1: * phần

EasyBeans

  • * Giấy phép: * LGPL
  • * Java: * JDK 5.0 hoặc 6.0
  • Tomcat hội nhập: Có
  • * Các phiên bản Tomcat: * Tomcat 6.x hoặc 5,5
  • * Triển khai để Tomcat: * tập tin chiến tranh
  • * Danh sách các tính năng: * EJB 3.0, JAX-WS , Hỗ trợ OSGi
  • Cấu hình JNDI:?
  • * Loại triển khai: * JAR
  • Hỗ trợ quản lý:?
  • * Hỗ trợ: * Hỗ trợ cộng đồng và hỗ trợ chuyên môn, danh sách gửi thư, JIRA, EJB cho máy chủ ứng dụng JOnAS
  • Nhà cung cấp JMS:?
  • Kết nối XA Pool:?
  • * Dịch vụ hẹn giờ EJB: * Có
  • * Nhà cung cấp Persistence: * OpenJPA, Hibernate, TopLink, EclipseLink
  • Hạn chế:
  • * Tài liệu: * giới hạn
  • EJB 3.1: Không
Các vấn đề liên quan