1 java.rmi.RemoteException
由于EJB3中的远程接口没有间接或直接的基础Remote接口,也不需要抛出RemoteException异常,所以客户端所接受到的都是EjbException。
2 ServiceLocator模式
由于EJB3中省去了Home接口,所以如果使用ServiceLocator模式会出现异常,同一JNDI每次获得都会是同一对象即便是有状态的Bean
3 Stateful Session Bean
由于EJB3中省去了Home接口,JNDI lookup返回的是一个Session Bean的对象,而不是Home,所以EJB3的Spec中规定每次JNDI lookup
都应该返回一个新的实例。(注意以上这点在一些版本的JBOSS EJB3的实现中都存在BUG)。
5 EJB3 规范要求在部署 EJB 时必须绑定到各业务接口的全限定名上,最终可有 JNDI 查找
如: ctx.lookup(TaxRate.class.getName());
6 @Remove 表示 SFSB 中的删除方法,如果存在 @PreDestory 则在其后执行
7 会话 Bean 不实现 SessionBean 接口, MDB 不必实现 MessageDerivenBean ,只要通过 @Annotation 标明或在部署文件中说明。
8 EJBContext 中加入了 lookup 方法,用于查找和 Bean 绑带的 JNDI 名