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 ...