Red Hat Training

A Red Hat training course is available for JBoss Enterprise Application Platform Common Criteria Certification

3.11. Locking

The default locking system in EJB3 is mostly based on optimistic locking (ie using a version column to check any concurrency issues). EJB3 has defined an additional mechanism to increase the concurrency guaranties. You can apply a lock on a given entity (and it's associated entities if LOCK is cascaded) through the lock(Object entity) method. Depending on the concurrency guaranties you requires, you choose a lock mode:
  • LockMode.READ prevents dirty-reads and non repeatable read on a given entity.
  • LockMode.WRITE prevents dirty-reads and non repeatable read on a given entity and force an increase of the version number if any.