SessionContext
The javax.ejb.SessionContext
interface provides a view into the EJB container’s environment. The
SessionContext
object can be used as
the bean instance’s interface to the EJB container to obtain information
about the context of the method invocation call and to provide quick
access to various EJB services. A session bean can obtain a reference to
its SessionContext
by using the
@Resource
annotation:
/** * SessionContext of this EJB; this will be injected by the EJB * Container because it's marked w/ @Resource */ @Resource private SessionContext context;
SessionContext
allows you to
obtain information such as the current user that is invoking on the EJB,
or to look up entries within the EJB’s Enterprise Naming Context (ENC).
Let’s look at the javax.ejb.SessionContext
interface:
public interface javax.ejb.SessionContext extends javax.ejb.EJBContext { EJBLocalObject getEJBLocalObject( ) throws IllegalStateException EJBObject getEJBObject( ) throws IllegalStateException; MessageContext getMessageContext( ) throws IllegalStateException; <T> getBusinessObject(Class<T> businessInterface) throws IllegalStateException; Class getInvokedBusinessInterface( ); }
The getEJBObject()
and getEJBLocalObject()
methods are obsolete and
will throw an exception if invoked upon. They are objects that are
specific to the EJB 2.1 style of defining EJBs.
The SessionContext.getBusinessObject()
method returns a reference to the current EJB that can be invoked by other clients. This reference is ...
Get Enterprise JavaBeans 3.1, 6th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.