各位道友,petstore1.2.1中的疑问。

02-11-20 sam_java

花了一段时间,终于把源码通读了一遍,再回过来看的时候,我有一个想法如下:

petstore 把获得ejb reference 的方法放到了EJBUtil这个类中,每个方法都是static方法。

如下:

public final class EJBUtil {

    public static CustomerHome getCustomerHome() throws javax.naming.NamingException {
            InitialContext initial = new InitialContext();
            Object objref = initial.lookup(JNDINames.CUSTOMER_EJBHOME);
            return (CustomerHome)
                PortableRemoteObject.narrow(objref, CustomerHome.class);
    }
}
<p>

我的问题是,为什么不把这个类实例化,然后存到ServletContext中去,每次调用方法的时候,直接去ServletContext中取回该对象执行所需的方法,

这样效率是不是能有提高?因为系统要不断地调用这些方法,而内存的速度要快的多。

不知我是否说清楚了我的想法,谢谢!