Access intent and isolation level

The access intent service enables developers to precisely tune the management of application persistence.

[Version 5.0.2 and later]Access intent enables developers to configure applications so that the EJB container and its agents can make performance optimizations for entity bean access. Entity beans and entity bean methods are configured with access intent policies. A policy is acted upon by either the combination of the WebSphere EJB container and Persistence Manager (for container-managed persistence (CMP) entities) or by bean-managed persistence (BMP) entities directly. Note that access intent policies apply to entity beans only.

Predefined access intent policies

Seven predefined access intent policies are available. The policies are composed of different attributes. You can directly configure most of these attributes only with WebSphere Business Integration Server. The access type is of primary interest and controls the isolation level, lock type, and duration of locks obtained when bean data is read from the database.

A pessimistic access type indicates to hold locks for the duration of the transaction under which the data loads. An optimistic type indicates to drop locks immediately after the data is read from the backend. A read type indicates that the run time must not allow updates to the data; any attempt to do so on data read under a read type results in an exception. Update types permit you to change data. The seven policies and their attribute definitions follow:

wsPessimisticUpdate
  • Access type = Pessimistic update
  • Collection scope = Transaction
  • Collection increment = 1
  • Resource manager prefetch increment = 0
  • Read ahead hint = null
wsOptimisticUpdate
  • Access type = Optimistic update
  • Collection scope = Transaction
  • Collection increment = 25
  • Resource manager prefetch increment = 0
  • Read ahead hint = null
wsOptimisticRead
  • Access type = Optimistic read
  • Collection scope = Transaction
  • Collection increment = 25
  • Resource manager prefetch increment = 0
  • Read ahead hint = null
wsPessimisticRead
  • Access type = Pessimistic read
  • Collection scope = Transaction
  • Collection increment = 25
  • Resource manager prefetch increment = 0
  • Read ahead hint = null
wsPessimisticUpdate-Exclusive
  • Access type = Pessimistic update
  • Exclusive = true
  • Collection scope = Transaction
  • Collection increment = 1
  • Resource manager prefetch increment = 0
  • Read ahead hint = null
wsPessimisticUpdate-NoCollision
  • Access type = Pessimistic update
  • No collision = true
  • Collection scope = Transaction
  • Collection increment = 25
  • Resource manager prefetch increment = 0
  • Read ahead hint = null
wsPessimisticUpdateWeakestLockAtLoad
  • *default policy
  • Access type = Pessimistic Update
  • Promote = true
  • Collection scope = transaction
  • Collection increment = 25
  • Resource manager prefetch increment = 0
  • Read ahead hint = null

Note that to support connection sharing, you must ensure that all data loaded in the same transaction is under the same isolation level. Verify that all participating methods that drive loads are configured with either a pessimistic access type or an optimistic access type.


Related concepts
Custom finder SQL dynamic enhancement
Access intent policies
Related tasks
Applying access intent policies to methods
Related reference
Access intent -- isolation levels and update locks



Searchable topic ID:   accint
Last updated: Jun 21, 2007 8:07:48 PM CDT    WebSphere Business Integration Server Foundation, Version 5.0.2
http://publib.boulder.ibm.com/infocenter/wasinfo/index.jsp?topic=/com.ibm.wasee.doc/info/ee/ae/cdat_accint.html

Library | Support | Terms of Use | Feedback