Oracle® Application Server Containers for J2EE Enterprise JavaBeans Developer's Guide
10g Release 2 (10.1.2) Part No. B15505-01 |
|
![]() Previous |
![]() Next |
Normally, you cannot have EJBs communicating across EAR files, that is, across applications that are deployed in separate EAR files. The only way for an EJB to access an EJB that was deployed in a separate EAR file is to declare it to be the parent of the client. Only children can invoke methods in a parent.
For example, there are two EJBs, each deployed within their EAR file, called sales
and inventory
, where the sales
EJB needs to invoke the inventory
EJB to check to see if enough widgets are available. Unless the sales
EJB defines the inventory
EJB to be its parent, the sales
EJB cannot invoke any mehtods in the inventory
EJB, because they are both deployed in separate EAR files. So, define the inventory
EJB to be the parent of the sales
EJB and the sales
EJB can now invoke any method in its parent.
You can only define the parent during deployment with the deployment wizard. See the "Deploying Applications" section in the "Configuration and Deployment" chapter in Oracle Application Server Containers for J2EE User's Guide on how to define the parent application of a bean. For broader issues on how to package your classes for method invocation, see "Directory Structure Recommendations for EJB Development".