会话 Bean 的客户端视角与接口解析
1. 会话 Bean 的移除方法
1.1 remove(Handle h)
会话 Bean 的客户端可以调用 remove(Handle h)
方法,告知 Bean 客户端不再需要使用该 Bean。但这并不一定意味着 Bean 实例会被移除。如果是有状态会话 Bean,实例会被移除;如果是无状态会话 Bean,该操作几乎没有效果,因为实例在服务完业务方法调用后已回到池中。
1.2 remove(Object key)
调用 remove(Object key)
方法可能会引发问题,因为会话 Bean 没有主键,此方法仅适用于实体 Bean。若客户端在会话 Bean 上调用此方法,会抛出 javax.ejb.RemoveException
。不过,为了简单性和一致性,会话 Bean 的远程主接口继承了此方法,这是为标准化付出的代价。
1.3 警告
如果会话 Bean 的客户端在 Bean 的主接口上调用 remove(Object key)
方法,将收到 javax.ejb.RemoveException
。而调用 remove(Handle h)
方法,也不一定会移除会话 Bean 实例,只有有状态会话 Bean 实例才会被移除。
2. 主接口的职责与方法
2.1 主接口职责
Bean 提供者编写接口,容器实现接口。EJB O