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