Java 天地
企业JavaBeansTM技术介绍(5)
作者:不详 来源:天极网
客户做的第一件事是使用JNDI为所需要的Bean定位EJBHome。在本例子中,
EJBHome对象可能以下列形式出现:
public interface CartHome extends
javax.ejb.EJBHome{ Cart create(String customerName , String
account) throws RemoteException,
BadAccountException; }
CartHome接口包含一个create()方法,
当客户请求一个新的Bean的时候该方法将被调用。请注意,
这个方法是在EJBObject中实现的并将在被调用时调用Bean类中的ejbCreate()方法。
ShoppingCart类的EJBHome对象可使用下列代码来定位:
Context
initialContext = new InitialContext(); CartHome cartHome =
(CartHome)
initialContext.lookup ("application/mall/shopping-carts");
在本例中,
调用InitialContext()以得到JNDI命名层次的根;lookup()方法被用来得到CartHome。 在此种情况下,
"applications/mall/shopping.carts"是JNDI到达你感兴趣的CartHome的路径。此时,
cartHome持有了ShoppingCartEJB的EJBHome对象的引用。然而,
请注意客户的JNDI的命名空间可能被设置为包括分布于网络上的多种机器上的EJB容器;
EJB容器的实际位置一般来说对客户是透明的。
|