Odd javax.ejb.EJBNoSuchObjectException
tom_goring Mar 29, 2007 8:47 AMHi,
I've got an EJB3 app working with jboss seam.
On one of my SFSB I'm getting a javax.ejb.EJBNoSuchObjectException.
Within a single HTTP request (so no timeout issues) The SFSB is getting created, called but at the end of the request I get the exception. The Remove is not getting called on the bean. There is no other exception occouring that would have removed the SFSB as well.
Any ideas why this would happen ? I'd understand it if it was a timeout and my remove had been called.
13:43:22,765 WARN [Contexts] Could not destroy component: employeeCompanyListBean javax.ejb.EJBNoSuchObjectException: Could not find Stateful bean: 5c4o05-mir5ct-ezv68x77-1-ezv76mcd-1o at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:268) at org.jboss.ejb3.stateful.StatefulRemoveInterceptor.removeSession(StatefulRemoveInterceptor.java:127) at org.jboss.ejb3.stateful.StatefulRemoveInterceptor.invoke(StatefulRemoveInterceptor.java:87) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77) at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:102) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
@Local public interface EmployeeCompanyCRUD { public void create(); public void destroy(); public void postActivate(); public void prePassivate(); public void initList(); public void initFilter(); public String editEntity(); public String updateEntity(); public String deleteEntity(); public String newEntity(); public String cancelEntity(); public Employee getEditingEmployeeCompany(); public void setEditingEmployeeCompany(Employee editingEmployee); public EmployeeFilter getEmployeeCompanyFilter(); public void setEmployeeCompanyFilter(EmployeeFilter employeeCompanyFilter); public List<Employee> getEmployeeList(); public void setEmployeeList(List<Employee> employeeList); public final static String Success = "success"; }
@Stateful @Scope(ScopeType.CONVERSATION) @Name("employeeCompanyListBean") @CacheConfig(idleTimeoutSeconds=100) public class EmployeeCompanyCRUDBean implements EmployeeCompanyCRUD, Serializable { private static final long serialVersionUID = 1L; .. @EJB private CompanyManagerLocal companyManager=null; @EJB private EmployeeManagerLocal employeeManager=null; .. @Create public void create() { log.info("create "+toString()); } @PostActivate public void postActivate() { log.info("postActivate"+toString()); } @PrePassivate public void prePassivate() { log.info("prePassivate"+toString()); } @Remove @Destroy public void destroy() { log.info("destroy"); } .. } 13:43:16,796 INFO [EmployeeCompanyCRUDBean] create jnet.fui.bl.accountant.EmployeeCompanyCRUDBean@f8093f 13:43:16,796 INFO [EmployeeCompanyCRUDBean] initFilter 13:43:16,796 INFO [EmployeeCompanyCRUDBean] initList .. 13:43:17,687 INFO [UserConversation] destory 7 - 1175172197171 - ConversationContext(5) 13:43:22,765 INFO [UserComponentManagerBean] destroy 13:43:22,765 WARN [Contexts] Could not destroy component: employeeCompanyListBean javax.ejb.EJBNoSuchObjectException: Could not find Stateful bean: 5c4o05-mir5ct-ezv68x77-1-ezv76mcd-1o