一、谨慎选择bean类型。无状态会话bean适用于大多数情况,自习分析应用程序是否需要有状态会话bean,因为使用它要付出代价。如果ejb客户端位于web层中,那么在一些情况下,与有状态会话bean相比,使用httpsession可能是更好的选择。
二、谨慎分析会话bean的接口类型。远程接口设计网络访问并且可能使应用程序执行缓慢。如果客户端总是和bean运行在相同的JVM中,那么就使用本地接口。
三、如果使用依赖注入,确保不要把有状态会话bean注入到无状态会话bean或servlet中。注入的EJB实例存储在实例变量中,而且,即使无状态bean实例返回到池中,对后续客户端而言,实例变量也是全局可用的,而注入的有状态bean实例可能包含不准确的状态信息。把有状态bean实例注入到另一个有状态会话bean或应用程序客户端中是合法的。
四、分隔横切事项。比如登录和审核,使用拦截器到达这个目的,而不是使它们在业务罗技中散乱分布。
五、谨慎分析在会话状态中存储的数据类型。只要可能,就应该试图在有状态bean中使用小型的原始实例变量,而不是大型的嵌套复合对象。
六、在有状态会话bean中,不要忘记定义删除方法。
七、天正钝化和激活配置,找到应用程序的最佳值。