|
Application Techniques |
How to create a bean reference in the deployment descriptor and look it up at runtime.
|
About this technique |
Details |
|---|---|
See the part on developing Enterprise JavaBeans in the Programmer's Guide |
To use the JAR Designer to add a bean reference to the deployment descriptor, you add the reference entry and specify its properties as shown here:
The information in the deployment descriptor includes the following:
The SBBankATMBean finds out about the entity beans that it manages in the initializeSessionBean() custom method. To get the bean references, the intializeSessionBean() method does the following:
Does a lookup in the internal bean-specific namespace for the home for each of the entity beans that it will manage. It specifically gets the
If it is not able to get find one of the bean references, the method throws an EJBException which is an unrecoverable error.
Here's the code that does a lookup for the EBCustomer bean and the EBAccount bean:
try
{
m_initialContext = new javax.naming.InitialContext();
Context contextEnv =
(Context) m_initialContext.lookup("java:comp/env");
}
// The Environment name specified in the EJB jar must match the //name below.
Object objEntityBeanLookup = (Object) contextEnv.lookup("/ejb/EBCustomer");
m_EBCustomerHome = (EBCustomerHome)
PortableRemoteObject.narrow(objEntityBeanLookup,
com.examples.bankdemo.EBCustomerHome.class);
// Then, get our EBAccountHome
objEntityBeanLookup = (Object) contextEnv.lookup("/ejb/EBAccount");
m_EBAccountHome = (EBAccountHome)
PortableRemoteObject.narrow(objEntityBeanLookup, com.examples.bankdemo.EBAccountHome.class);
}
catch (Exception e)
{
String sErrorMessage = e.toString();
//This is an unrecoverable error, so throw an EJBException
throw new EJBException(sErrorMessage);}
}
|
Application Techniques |
Copyright © 2001, SilverStream Software, Inc. All rights reserved.