While calling an Entity Bean, setSessionContext() method is called by the container just before ejbCreate(). Usually the SessionContext is passed into the bean instance with this call. Except this you can place the code that you want to execute the code at the time when bean is created in pool.

For example, if you want to call an Entity Bean in a session bean then you will need JNDI look up of Entity bean in NameSpace. That Code can be placed in setsessioncontext method.

public void setSessionContext(javax.ejb.SessionContext aContext) {

        System.out.println("--> Entering: BankMgrBean.setSessionContext ");

        try {
    InitialContext ic = new InitialContext()
    Double limit = (Double)ic.lookup("java:comp/env/transactionLimit");
    customerLocalHome (CustomerLocalHome)ic.lookup("java:comp/env/ejb/BankCustomer");
          transactionLimit = limit.doubleValue();
  catch (NamingException e) {
    System.out.println("e: "+e);
  System.out.println("transactionLimit read in as: " + transactionLimit);
        System.out.println("<-- Leaving:  BankMgrBean.setSessionContext ");