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