Tôi đang sử dụng EclipseLink trên GlassFish 3.1.1 và tôi đang cố gắng để hiểu được ngoại lệ này:javax.ejb.EJBException: bất hợp pháp truy cập phương pháp phi kinh doanh trên không giao diện xem
javax.ejb.EJBException: Illegal non-business method access on no-interface view
at org.mycompany.myproject.session.__EJB31_Generated__MyBeanFacade__Intf____Bean__.getEntityManager(Unknown Source)
at org.mycompany.myproject.session.AbstractFacade.edit(AbstractFacade.java:28)
at org.mycompany.myproject.controller.EditMyBeanServlet.doPost(EditMyBeanServlet.java:199)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
Chú ý rằng stack trace chỉ ra rằng vấn đề được kích hoạt trong phương thức AbstractFacade.getEntityManager của Netbeans.
Bất kỳ ý tưởng nào về sự cố xảy ra hoặc bất kỳ mẹo nào để khắc phục sự cố? Tôi đoán rằng hoặc giao dịch hoặc trạng thái bộ nhớ đệm trong EJB là lạ khi điều này xảy ra bởi vì đôi khi gọi phương thức chỉnh sửa hoạt động tốt. Tôi đang gọi các phương thức EJB từ Servlet. Ngoại lệ xảy ra khi cố lưu các thay đổi đối với một thực thể.
Nói cách khác: nó xuất hiện EclipseLink không thể xử lý quá tải các phương pháp kế thừa trong một EJB – Ryan
Có liên quan đến vấn đề này không? http://java.net/jira/browse/GLASSFISH-17235 –
@ piotr-nowicki - Bingo, tôi nghĩ bạn đã tìm thấy báo cáo vấn đề về sự cố. Cảm ơn. Buồn cười rằng ai đó đã bình chọn câu trả lời này! – Ryan