Interface EJBFactory
- All Superinterfaces:
Remote
EJBFactory
defines the methods that allow a remote client to
create or find remote EJB objects. The factory is used to support
EJB-Link and Auto-Link in the Client Container. When an application defines an EJB reference, but does not provide any binding information for that reference, this is considered either an EJB-Link or Auto-Link scenario. EJB-Link refers to a configuration where the 'ejb-ref' has an 'ejb-link' (@EJB with 'beanName' parameter). And, Auto-Link refers to a configuration where the 'ejb-ref' does not contain an 'ejb-link', and thus only the reference interface is known.
For both the EJB-Link and Auto-Link scenarios, component name space and injection processing will use the methods on the EJBFactory to resolve the reference.
-
Method Summary
Modifier and TypeMethodDescriptionReturns a reference to the EJB object specified.Returns a reference to the EJB object specified.findByBeanName
(String application, String beanName, String interfaceName) Returns a reference to the EJB object specified.findByInterface
(String application, String interfaceName) Returns a reference to the EJB object specified.
-
Method Details
-
create
Object create(String application, String beanName, String interfaceName) throws jakarta.ejb.EJBException, RemoteException Returns a reference to the EJB object specified.The combination of application name and beanName or ejb-link including module information uniquely identify any EJB object.
All parameters must be non-null.
- Parameters:
application
- name of the application containing the EJB.beanName
- beanName or ejb-link, including module information.interfaceName
- component home or business interface of EJB.- Returns:
- a reference to the EJB object specified.
- Throws:
jakarta.ejb.EJBException
- is thrown when the specified EJB cannot be found or a failure occurs creating an instance.RemoteException
-
create
Object create(String application, String module, String beanName, String interfaceName) throws jakarta.ejb.EJBException, RemoteException Returns a reference to the EJB object specified.The combination of application name, module name, and bean name uniquely identify any EJB object.
All parameters must be non-null.
- Parameters:
application
- name of the application containing the EJB.module
- name of the module containing the EJB.beanName
- name of the specific EJB.interfaceName
- component home or business interface of EJB.- Returns:
- a reference to the EJB object specified.
- Throws:
jakarta.ejb.EJBException
- is thrown when the specified EJB cannot be found or a failure occurs creating an instance.RemoteException
-
findByBeanName
Object findByBeanName(String application, String beanName, String interfaceName) throws jakarta.ejb.EJBException, RemoteException Returns a reference to the EJB object specified.The combination of application name, module name, and bean name uniquely identify any EJB object.
This method if intended to be used when the specific module name is not known. All modules in the application will be searched for an EJB with the specified name. If multiple modules in the application contain an EJB with the specified name, this is considered an ambiguous reference, and an EJBException will be thrown.
- Parameters:
application
- name of the application containing the EJB.beanName
- name of the specific EJB.interfaceName
- component home or business interface of EJB.- Returns:
- a reference to the EJB object specified.
- Throws:
jakarta.ejb.EJBException
- is thrown when the specified EJB cannot be found or a failure occurs creating an instance.RemoteException
-
findByInterface
Object findByInterface(String application, String interfaceName) throws jakarta.ejb.EJBException, RemoteException Returns a reference to the EJB object specified.The combination of application name, module name, and bean name uniquely identify any EJB object.
This method if intended to be used when neither the specific module name nor bean name are known. All modules in the application will be searched for an EJB that implements the specified interface. If multiple EJB objects in the application implement the specified interface, this is considered an ambiguous reference, and an EJBException will be thrown.
- Parameters:
application
- name of the application containing the EJB.interfaceName
- component home or business interface of EJB.- Returns:
- a reference to the EJB object specified.
- Throws:
jakarta.ejb.EJBException
- is thrown when the specified EJB cannot be found or a failure occurs creating an instance.RemoteException
-