Skip to Content
Head First EJB
book

Head First EJB

by Kathy Sierra, Bert Bates
October 2003
Beginner
734 pages
16h 56m
English
O'Reilly Media, Inc.
Content preview from Head First EJB

setRollbackOnly() lives in TWO interfaces

image with no caption

Note

Be SURE you know the rules for BOTH of the setRollbackOnly() methods!

Be ready for the exam to test you on the use of setRollbackOnly() for both BMT and CMT beans.

EJBContext.setRollbackOnly()

UserTransaction.setRollbackOnly()

Remember, no single bean can ever use BOTH of these!

CMT beans can use only the EJBContext.setRollbackOnly()

BMT beans can use only the UserTransaction.setRollbackOnly()

Expect to see code examples where you’ll need to figure out if the bean is BMT or CMT by looking at the code. And it won’t be as obvious as a call to getUserTransaction(). If you see a call to EJBContext.setRollbackOnly(), for example, you know that this must be a CMT bean. So if that same bean later starts a UserTransaction, you know the code is illegal.

The methods in the UserTransaction interface are for BMT beans only; CMT beans can’t use anything in UserTransaction.

The EJBContext interface, on the other hand, is for both BMT and CMT beans, except for the two transaction methods.

The setRollbackOnly() and getRollbackOnly() methods in EJBContext are off-limits to BMT beans.

Bottom line: BMT beans call setRollbackOnly() on a UserTransaction; CMT beans call setRollbackOnly() on an EJBContext.

Note

A bean that calls setRollbackOnly() MUST be in a transaction!

You can call setRollbackOnly() from a BMT bean ONLY if you’re inside a transaction. In other words, only ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

EJB 3 in Action, Second Edition

EJB 3 in Action, Second Edition

Michael Remijan, Debu Panda, Reza Rahman, Ryan Cuprak
Beginning EJB in Java EE 8: Building Applications with Enterprise JavaBeans

Beginning EJB in Java EE 8: Building Applications with Enterprise JavaBeans

Jonathan Wetherbee, Massimo Nardone, Chirag Rathod, Raghu Kodali
Learning Java EE 8

Learning Java EE 8

Sebastian Daschner

Publisher Resources

ISBN: 0596005717Errata Page