Enterprise Beans Tutorial

Home| Forums | Join Google Group | Join Yahoo Group | Jobs
Get custom programming done at GetAFreelancer.com!
Earn Money
  Trading Forex Online
  Paramount Airways
  Free Data Recovery
 Cargo
 Job Portal
  HSBC Investment
 Management
 Cheap Web Hosting
  Make Trip
  Cheap Air Travel
 Leisure Hotel
  Free Air Travel
  Mutual Fund Informations
   Cheapest Cellular Plan
 Free Sexy Indians
  Call Center Software
  Hot Indian
Programming Help | Homework Help | Counseling
Astrology Advice | Tarot Advice | Parenting
Dating Advice | Love Advice | Divorce Advice
Legal Advice | Debt Advice | Career Advice

Enterprise Beans Tutorial


23 · The following code, taken from the TellerEJB example program, demonstrates the UserTransaction methods. The begin and commit invocations delimit the updates to the database. If the updates fail, the
code invokes the rollback method and throws an EJBException.
public void withdrawCash(double amount) {

UserTransaction ut = context.getUserTransaction();

try {
ut.begin();
updateChecking(amount);
machineBalance -= amount;
insertMachine(machineBalance);
ut.commit();
} catch (Exception ex) {
try {
ut.rollback();
} catch (SystemException syex) {
throw new EJBException
("Rollback failed: " + syex.getMessage());
}
throw new EJBException
("Transaction failed: " + ex.getMessage());
}
}
Returning Without Committing · In a stateless session bean with bean-managed transactions, a business method must commit or roll back
a transaction before returning. However, a stateful session bean does not have this restriction.
· In a stateful session bean with a JTA transaction, the association between the bean instance and the
transaction is retained across multiple client calls. Even if each business method called by the client
opens and closes the database connection, the association is retained until the instance completes the
transaction.
· In a stateful session bean with a JDBC transaction, the JDBC connection retains the association
between the bean instance and the transaction across multiple calls. If the connection is closed, the
association is not retained.
Methods Not Allowed in Bean-Managed Transactions · Do not invoke the getRollbackOnly and setRollbackOnly methods of the EJBContext interface. These
methods should be used only in container-managed transactions.
· For bean-managed transactions you invoke the the getStatus and rollback methods of the
UserTransaction interface.
Summary of Transaction Options The decision tree in figure 6-2 shows the different approaches to transaction management that you may take.
· Your first choice depends on whether the enterprise bean is an entity or a session bean. An entity bean
must use container-managed transactions.
· With container-managed transactions, you specify the transaction attributes in the deployment
descriptor and you roll back a transaction with the setRollbackOnly method of the EJBContext interface.
· A session bean may have either container-managed or bean-managed transactions. There are two types
of bean-managed transactions: JDBC and JTA transactions. You delimit JDBC transactions with the


Earn Money
  Trading Forex Online
  Paramount Airways
  Free Data Recovery
 Cargo
 Job Portal
  HSBC Investment
 Management
 Cheap Web Hosting
  Make Trip
  Cheap Air Travel
 Leisure Hotel
  Free Air Travel
  Mutual Fund Informations
   Cheapest Cellular Plan
 Free Sexy Indians
  Call Center Software
  Hot Indian