• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Ron McLeod
  • Liutauras Vilda
  • Paul Clapham
  • paul wheaton
  • Tim Cooke
  • Devaka Cooray
  • Rob Spoor
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Tim Moores
  • Carey Brown
  • Mikalai Zaikin

"diamond" Scenario

Posts: 29
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Does anyone know if any questions will be asked regarding the distributed "diamond" scenario with transactions?
Cowgirl and Author
Posts: 1589
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
If I were you, I would spend my time on other parts of the spec
For transactions, here's my recommendation;
1) Become VERY comfortable with all possible combinations of scenarios for CMT attributes.
2) Know which attributes can be used with which methods, and when.
3) Be SURE you understand the difference between EJBContext.setRollbackOnly() and UserTransaction.setRollbackOnly(), and who can call what and when.
4) Understand SessionSynchronization, know that only stateful session beans can use it, and know the circumstances under which each of its three methods will be called.
5) Understand the effect of exceptions on transactions -- especially that system exceptions cause a rollback while application exceptions don't... unless you say so with setRollbackOnly()
6) Understand the difference between getRollbackOnly() and getStatus()
7) You can relax about the possible return values of getStatus().
8) Be sure that you can look at code, and identify whether it is using BMT or CMT, from subtle things like:
If you see a getRollbackOnly() call, it MUST be a CMT bean. BMT beans can't use it.
If you see a setRollbackOnly(), you won't know unless you see which interface the method is being invoked on: EJBContext means CMT, UserTransaction means BMT.
Hmmmmm.... know the implication of the onMessage() method with respect to transactions. Like, what is the affect on acknowledgement based on the transaction and how this changes with BMT vs. CMT...
OK, that should keep you busy while you are skipping the portion on "diamond scenarios".
Or we might never have existed at all. Freaky. So we should cherish everything. Even this tiny ad:
a bit of art, as a gift, the permaculture playing cards
    Bookmark Topic Watch Topic
  • New Topic