来自EJB的回忆
在EJB开发过程中,根据JNDI找到Home接口再生成远程接口对象是一个耗费资源的事。因为在很多遗留的EJB系统中有很多Cache的方案。一部分是Cache Home接口,一部分Cache? 远程接口对象。怎么理解这两种方案的区别呢?答案是SFSB时Cache Home; SLSB时Cache 远程接口对象。以为SFSB只能跟Client的一次Session关联,多个Client不能重用(也即一次性的)。相反SLSB可以从Pool中直接重用。
?
此方案一般用在ServiceLocator中,ServiceLocator用来隔离web层和业务层,避免web层直接接触Ejb home等接口。
?
经典方案是在web层中多出一层Business Interface+ Business Delegate,Business Delegate实现类中通过ServiceLocator找到远程对象。