WebSphere đi kèm với cha mẹ cuối cùng và cha mẹ trước tiên. Java EE này có tuân thủ không? Điều này có được hỗ trợ bởi tất cả các máy chủ ứng dụng tương thích với Java EE 5 không?Tiêu chuẩn tải lớp Java EE
Trả lời
tôi đã làm nghiên cứu của riêng tôi (đi qua các thông số kỹ thuật và vài blog) và dưới đây là những gì tôi đã tìm
EAR
spec không xác định hoặc uỷ thác như thế nào bộ tải lớp nên làm việc trong một EAR. tuy nhiên nó xác định rằng
- Nên có mỗi thread lớp bối cảnh loader để tải thời gian chạy của lớp
- có thể có một cơ chế tải lớp thứ bậc cho việc giải quyết các lớp học (nhà cung cấp máy chủ ứng dụng có thể tự do thực hiện bất cứ cách nào họ chọn để)
- trình nạp lớp cấp cao nhất (WAR/EAR) CÓ THỂ ủy quyền cho trình nạp lớp cấp thấp (như Bootstrap, tiện ích mở rộng, v.v.). Đây là phù hợp với mô hình đoàn lớp J2SE loader (PARENT_FIRST trong WS)
WAR
đặc tả Servlet định nghĩa và giao trách nhiệm sự hỗ trợ của một PARENT_LAST (tức là WAR/web-inf/classes và WAR/web-inf/lib được ưu tiên hơn các thư viện đi kèm với máy chủ ứng dụng) mô hình tải lớp. Nhưng điều này chỉ dành cho các mô-đun WAR. Đặc tả Servlet phân tách từ mô hình ủy quyền J2SE tiêu chuẩn của PARENT_FIRST trong trường hợp này.
Reference
Spec: Servlet 2.3 Mục: 9.7.2 Web Application Classloader
Spec: Java EE 5 Mục: EE.6.2.4.7 Context lớp Loader
App Chi tiết máy chủ
Điều thú vị là, dường như hầu hết các máy chủ ứng dụng chính đều hỗ trợ một số cơ chế tắt ủy quyền để cách ly thứ ứng dụng e từ máy chủ ứng dụng nếu cần thiết (vì xung đột hoặc cách khác): WebSphere - "cha mẹ-cuối cùng", GlassFish - <class-loader delegate="false">
, JBoss - java2ParentDelegation=false
, Geronimo - <java2-delgation-model>false</java2-delegation-model>
Thông tin tốt. Tôi đã nghiên cứu cùng một câu hỏi và đi đến kết luận tương tự. Một câu hỏi vẫn còn là, nó được khuyến khích để đi với phụ huynh lựa chọn cuối cùng? Tôi sẽ nghĩ rằng nó sẽ được kể từ khi ứng dụng của bạn là xách tay hơn; bạn không phụ thuộc vào lib của Appserver. Bạn đạt được cách ly ứng dụng. Tôi không thấy mọi người giới thiệu cách này hay cách khác. Bạn có gặp bất kỳ đề xuất thực hành tốt nhất nào không?
"Tôi nghĩ nó sẽ là vì ứng dụng của bạn dễ di chuyển hơn, bạn không phụ thuộc vào lib của Appserver. Bạn đạt được cách ly ứng dụng." ---- Có thể hoặc không hoạt động vì không có tiêu chuẩn bắt buộc bởi spec. Ví dụ: http://stackoverflow.com/questions/4097567/jboss-and-different-versions-of-hibernate –
Đây là 1 kịch bản khác khi cố gắng sử dụng JSF 2.0 với WAS 7 và sử dụng PARENT_LAST cho EAR và WAR. Vẫn đang cố gắng sử dụng myfaces impl rằng nó đi kèm với. Ofcourse ông đã có thể giải quyết nó bằng cách cập nhật các EL impl sử dụng nhưng điểm là bạn không thể đảm bảo tất cả mọi thứ để làm việc ngay cả khi bạn chuyển đổi chính sách đoàn: http://stackoverflow.com/questions/3214373/websphere-7-jsf- 2-0-và-classloaders –
- 1. Có bao nhiêu lớp trong ấn bản tiêu chuẩn Java?
- 2. Eclipse EE - Phối cảnh Java EE Quan điểm Java Java
- 3. Plugin Eclipse Java EE
- 4. Bắt đầu Java EE
- 5. Tiêu chuẩn tải xuống lũy tiến
- 6. Phối cảnh Java EE trong nhật thực
- 7. có cách nào tiêu chuẩn để xác định nguồn dữ liệu JDBC cho các thùng chứa Java EE không?
- 8. Cách tải các lớp nằm trong thư viện ứng dụng Java EE đầu tiên thay vì được cung cấp bởi Java EE App Container
- 9. Java EE 6 Injection vào lớp trừu tượng
- 10. cách tạo một lớp con trong Eclipse Java EE?
- 11. Groovy, Netbeans và Java EE
- 12. Trình chặn Java EE và @ViewScoped bean
- 13. Đang tải xuống lớp java của lớp học
- 14. Drools Fusion và Java EE
- 15. Ống bị hỏng Java EE
- 16. OSGi và Java EE - JOSGiEE?
- 17. Tích hợp Javadoc cho API Java EE 6 vào Eclipse
- 18. Kiểm tra hiệu suất/ứng suất Java Các ứng dụng Java EE
- 19. Lớp tải chi tiết Java đang tải
- 20. Tài liệu tiêu chuẩn
- 21. Java EE 6 @Inject lười biếng?
- 22. Kiến trúc Java EE với Khung Chơi
- 23. Tài liệu tiêu chuẩn mục tiêu-C
- 24. Java EE 6 có miễn phí không?
- 25. Giao diện/Mã hóa lớp trừu tượng Tiêu chuẩn
- 26. Tiêu chuẩn cho việc ném ngoại lệ trong phân lớp
- 27. Python MixIn tiêu chuẩn
- 28. Chuẩn hóa URL chuẩn - Java
- 29. Web dữ liệu streaming trong Java EE
- 30. Tại sao không tiêu chuẩn hibernate Tiêu chuẩn generics
Đẹp nhất. Trong Glassfish, nó là btw ' ' trong 'sun-web.xml' để tắt chức năng ủy nhiệm. Xem thêm http://docs.sun.com/app/docs/doc/819-3659/beadf?l=en&a=view (ảnh) và http://docs.sun.com/app/docs/doc/821 -1752/beade? L = vi & a = view –
BalusC