Here is a copy of the isolation levels section 1.7.3.2
included in ejb 2.0 proposed final draft 2:

17.3.2 Isolation levels

...

The isolation level describes the degree to which the
access to a resource manager by a transaction is
isolated from the access to the resource manager by
other concurrently executing transactions.
The following are guidelines for managing isolation
levels in enterprise beans.

� The API for managing an isolation level is
resource-manager specific. (Therefore, the EJB
architecture does not define an API for managing
isolation level.)

� If an enterprise bean uses multiple resource
managers, the Bean Provider may specify the same
or different isolation level for each resource
manager. This means, for example, that if an
enter-prise
bean accesses multiple resource managers in a
transaction, access to each resource man-ager
may be associated with a different isolation level.

� The Bean Provider must take care when setting an
isolation level. Most resource managers
require that all accesses to the resource manager
within a transaction are done with the same
isolation level. An attempt to change the isolation
level in the middle of a transaction may
cause undesirable behavior, such as an implicit sync
point (a commit of the changes done so
far).

� For session beans and message-driven beans with
bean-managed transaction demarcation, the
Bean Provider can specify the desirable isolation
level programmatically in the enterprise
bean�s methods, using the resource-manager specific
API. For example, the Bean Provider can
use the
java.sql.Connection.setTransactionIsolation(...)
method to set
the appropriate isolation level for database access.

� For entity beans with container-managed persistence,
transaction isolation is managed by the
data access classes that are generated by the
container provider�s tools. The tools must ensure
that the management of the isolation levels performed
by the data access classes will not result
in conflicting isolation level requests for a resource
manager within a transaction.

� Additional care must be taken if multiple enterprise
beans access the same resource manager in
the same transaction. Conflicts in the requested
isolation levels must be avoided.

****** end of text

Shouldn't we rely on the resource managers only? This
to avoid complexity in jboss code and then
provide/work/develop the best ones?

By the way, does anyone know what is the best free
database that supports XA (w/jdbc driver)?  (I love
postgres, but the jdbc driver doesn't have XA support
(among other things), I don't even know if postgres
the database has it).  Is interbase (the free and
gratis version) it?

Hope this helps to the discussion on Isolation levels,


Thanks, CC

__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to