不好意思,让你等了,sorry。
>1.ComponentManager及其实现类的作用和目的,原文说“可以实现有状态的行为”,我不太明白能否解释一下:如何做到上述目的?
主要他是HttpSessionListerner 可以自动激活,利用HttpSession保存有状态。
>2.属性ServiceLocator ls的作用?
就是PetStore中的ServiceLocator,是一种Service定位模式。
>3.getEJBController方法在哪里用到?
Web客户端需要调用EJB时用到,放在HttpSession作为缓存
>4.getSessionEJBsKey这个方法产生的Key,在一个session中为什么都是一样的?如果一个session保存多个EJBController怎么办?
key应该是EJB名称和SessionId的组合,保证唯一性,这里有性能缺陷,因此,采用EJB方法调用框架要好一些。
>5.每一个EJBController,无论是有状态还是无状态的,都需要保存吗?
有状态必须保存,无状态不要保存,保存也可以,可以提高性能,但是注意反复部署时问题,这个问题已经在JdonSD 2.0中克服,可以不断反复部署调试。
>二.关于EJBController它的作用是什么?
类似Petstore中的那个EJB总接口,学习他的。
>PetStore中EJBClientControllerEJB的作用是创建相应的FacadeBean和委托StateMachine执行Action。在您的框架中它的作用是什么?
我在以前帖子指出过Petstore这种调用EJB的命令模式有缺陷,这个我也在培训时向学生强调过。我的框架是继承他的优点,克服它的缺点,当然最后发现还是有其他缺点,如性能。
>为什么在CustomerService类中直接把它转换成了FacadeBean?是否所有的FacadeBean都要继承EJBController?
是的,CustomerService是EJBController的客户端。所有要直接面向客户端的EJB都要继承EJBController
总的来说,这个框架只是试图向大家介绍如何做框架,作为设计框架的起步,这也是我培训的一个示例,实际成熟使用性不强。