alt
Advertisement
Sponsored links
Certification Series
Online Training
Career Series
Exforsys
Exforsys arrow Certification Series arrow SCBCD arrow SCBCD Study Notes : Chapter 4 : Session Bean Life Cycle
Site Search


SCBCD Study Notes : Chapter 4 : Session Bean Life Cycle
Article Index
SCBCD Study Notes : Chapter 4 : Session Bean Life Cycle
Page 2
Page 3

.

.

.

Stateless Session Bean

Table 4.2. Operations allowed in the methods of a stateless session bean.

 

 

 

 

Bean method

 

 

 

 

Bean method can perform the following operations

 

 

 

 

Container-managed transaction demarcation

 

 

 

 

Bean-managed transaction demarcation

 

 

 

 

constructor

 

 

 

 

-

 

 

 

 

-

 

 

 

 

setSessionContext

 

 

 

 

SessionContext methods: getEJBHome, getEJBLocalHome.

 

 

 

 

JNDI access to java:comp/env

 

 

 

 

SessionContext methods: getEJBHome, getEJBLocalHome.

 

 

 

 

JNDI access to java:comp/env

 

 

 

 

ejbCreate

 

 

 

 

ejbRemove

 

 

 

 

SessionContext methods: getEJBHome, getEJBLocalHome, getEJBObject, getEJBLocalObject.

 

 

 

 

JNDI access to java:comp/env

 

 

 

 

SessionContext methods: getEJBHome, getEJBLocalHome, getEJBObject, getEJBLocalObject, getUserTransaction.

 

 

 

 

JNDI access to java:comp/env

 

 

 

 

Business method from component interface

 

 

 

 

SessionContext methods: getEJBHome, getEJBLocalHome, getCallerPrincipal, getRollbackOnly, isCallerInRole, setRollbackOnly, getEJBObject, getEJBLocalObject.

 

 

 

 

JNDI access to java:comp/env

 

 

 

 

Resource manager access

 

 

 

 

Enterprise bean access

 

 

 

 

SessionContext methods: getEJBHome, getEJBLocalHome, getCallerPrincipal, isCallerInRole, getEJBObject, getEJBLocalObject, getUserTransaction.

 

 

 

 

UserTransaction methods

 

 

 

 

JNDI access to java:comp/env

 

 

 

 

Resource manager access

 

 

 

 

Enterprise bean access

 

 

 

 

Given a list of scenarios, identify which will result in an ejbRemove method not being called on a bean instance.

The Bean Provider CANNOT assume that the Container will always invoke the ejbRemove() method on a session bean instance. The following scenarios result in ejbRemove() not being called on an instance:

 

  • A crash of the EJB Container.
    .
  • A SYSTEM (java.lang.RuntimeException (or subclass), javax.ejb.EJBException, java.rmi.RemoteException, failure to obtain a database connection, JNDI exceptions) exception thrown from the instance’s method to the Container.
    .
  • A TIMEOUT of client inactivity while the instance is in the passive state. The timeout is specified by the Deployer in an EJB Container implementation specific way.

If the session bean instance allocates resources in the ejbCreate< METHOD >(...) method and/or in the business methods, and normally releases the resources in the ejbRemove() method, these resources WILL NOT be automatically released in the above scenarios. The application using the session bean should provide some clean up mechanism to periodically clean up the unreleased resources.

__________________
Author: Mikalai Zaikin. Please Click Here to visit Authors site for any updates and changes to the study notes.


Trackback(0)
Comments (0)add comment

Write comment

busy

 
< Prev   Next >
Exforsys Offers
© 2008 Exforsys.com
Joomla! is Free Software released under the GNU/GPL License.
Page copy protected against web site content infringement by Copyscape