In this tutorial you will learn how to create an enterprise bean that will be allowed to access locally or remotely.
Building Enterprise Bean Perspective to Allow Access
In this tutorial you will learn how to create an enterprise bean that will be allowed to access locally or remotely.
If the business interface of bean is not defined with @Local or @Remote then by default the business interface is a local interface.
Creating enterprise bean to permit local access
An enterprise bean that permits only for the local access can be created by one of the following (optional) way :
- Make an enterprise bean implementation class without implement a business interface.
- Use the @Local interface annotation to annotate the enterprise bean's business interface.
- Define the interface by using the bean class with @Local and defining the
interface name.
for example :
@Local(InterfaceName.class) public class BeanName implements InterfaceName { ... }
How to locally access an enterprise bean
To achieve the no-interface view for locally accessing of an enterprise bean which is disclosed as a local, use either the dependency injection or JNDI lookup.
- Through Dependency Injection javax.ejb.EJB annotation and with defining the implementation class of enterprise bean is used to get the reference of the enterprise bean to the no-interface view. for example :
@EJB XYZBean xyzBean;
XYZBean xyzBean= (XYZBean) InitialContext.lookup("java:module/XYZBean");
To achieve locally accessing of an enterprise bean which implements the local business interfaces, use either the dependency injection or JNDI lookup.
- Through Dependency Injection javax.ejb.EJB annotation and with defining the local business interface name of enterprise bean is used to get the reference of the enterprise bean to the local business interface. for example
@EJB XYZ xyz;
XYZLocal example = (XYZLocal) InitialContext.lookup("java:module/XYZLocal");
Creating enterprise bean to permit remote access
An enterprise bean that permits for the remote access can be created must either by :
- Use the @Remote annotation with the enterprise bean's business interface. for example :
@Remote public interface InterfaceName { ... }
@Remote(InterfaceName.class) public class BeanName implements InterfaceName { ... }
How to remotely access an enterprise bean
To achieve the accessing a client to an enterprise bean which implements the remote business interface, use either the dependency injection or JNDI lookup.
- Through dependency injection javax.ejb.EJB annotation and defining the remote business interface name of enterprise bean is used to get the reference of an enterprise bean to the remote business interface. for example :
@EJB Example example;
ExampleRemote example = (ExampleRemote) InitialContext.lookup("java:global/myApp/ExampleRemote");