我想楼主你是对运作流程不怎么了解而已~~~
运作流程如下:
(1)客户端(相对于EJBContainer来说,客户端可以是JSP,Servlet,JavaBean或者是JavaApplication)通过JNDI上查找EJBHome对象,如果所要查找的EJBHome存在,则返回EJBHome对象.(顺便说一下:EJBHome对象是EJBObject对象工厂,管理EJBObject的生命周期);
(2)客户端通过RMI调用所获取的EJBHome对象的create()方法返回EJBObject对象;
(3)客户端再次通过RMI调用所获取的EJBObject对象的业务方法hello(),这个时候EJBObject就会把请求委托给Bean Class(也就是你的UserInfoBean),进而执行Bean Class中的hello()方法这个运作流程过程中运用了代理模式和委托模式~~~Ending

解决方案 »

  1.   

    谢谢二楼!我基本上明白了执行的过程,但是对你的第三步我想问EJB是通过怎样的机制去调用UserInfoclass中的hello()方法,请再帮忙说说清楚,谢谢了!
      

  2.   

    (2)客户端通过RMI调用所获取的EJBHome对象的create()方法返回EJBObject对象;
    --------------应该返回的是EJBObject对象的存根程序,而不是EJB容器中的EJBObject对象
      

  3.   

    客户请求代理去办事情----》代理去找公司办事情---》公司具体事情由职员完成
     代理就是 EJBObject对象的存根程序      
    公司就是EJBObject对象
    职员就是Bean Class(也就是你的UserInfoBean),
      

  4.   

    EJBObject对象的存根程序在上边例子中是指什么,谢谢.