sto usando EclipseLink su GlassFish 3.1.1 e sto cercando di capire questa eccezione:javax.ejb.EJBException: Illegal accesso metodo non-business on no-interfaccia vista
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)
Si noti che il stack trace indica che il problema è stato attivato nel metodo AbstractFacade.getEntityManager generato da Netbeans.
Qualche idea su cosa diavolo sta succedendo o qualche consiglio da risolvere? Immagino che lo stato della transazione o della cache nell'EJB sia strano quando ciò accade perché a volte il metodo di modifica funziona correttamente. Sto chiamando i metodi EJB da un servlet. L'eccezione si verifica quando si tenta di salvare le modifiche in un'entità.
In altre parole: sembra che EclipseLink non sia in grado di gestire i metodi ereditati di overload in un EJB – Ryan
È correlato a questo problema? http://java.net/jira/browse/GLASSFISH-17235 –
@ piotr-nowicki - Bingo, penso che tu abbia trovato un rapporto sul problema. Grazie. Divertente che qualcuno abbia svalutato questa risposta! – Ryan