Laird Nelson wrote:
>
> "John K. Peterson" wrote:
> > > 1. JNDI
> > > 2. JDBC
> > > 3. JMS
> > Don't forget (for J2EE):
> > 4. URL
> > 5. JavaMail
>
> OK.  So do the previous 5 items constitute the official list of resource
> managers for the 1.1 specification?  Sun?  Anyone out there?  Does
> anyone know why they are resource managers?  What are they managing?
> What is a resource?  How were the five items listed determined to be
> resource managers?  Is there documentation (I'll go check the spec.)
> other than the spec. that lists these somewhere?

The term Resource Manager is used in the transaction processing space.
The two good books to read are Transaction Processing by Jim Gray and
Andreas Reuter, and Principles of Transaction Processing by Phil
Bernstein and Eric Newcomer.

Transactional systems have the notion of ACID properties (forgive me
if this is all old hat to you).
 A - atomicity
 C - consistency
 I - isolation
 D - Durability.

Atomicity, Isolation and Durability are pretty hard to get right.
Atomicity is usually achieved using two-phase commit and logging,
durability using disk storage and isolation using some concurrency
control scheme such as locking or versioning.

It is error-prone and inefficient for each object to have the code to
do all this stuff, so it is simpler to delegate the task to a database
or a queueing system, which manage resources on the object's
behalf. You can have millions of objects, but need only one
database. Now the objects have far less responsibility: they are
called transactional objects merely because they participate in a
transaction; they need do nothing more than delegate to the
database at appropriate times.

By this token, JNDI and JavaMail are not Resource Managers by any
stretch of the imagination. Neither promises atomicity or isolation.
You can't start a transaction, do two binds into a JNDI tree, and
commit the transaction. There is no requirement on JNDI to provide the
guarantee that either both binds succeed or neither succeeds. I
don't understand what URL is doing in this list above.

So far, the only resource managers I am aware of have come in the form
of databases, transactional queuing systems, and transactional file
systems. (Incidentally, NTFS claims to be a transactional file system.
That is misleading. It is transactional only for file meta data, not
for your data)

Hope this was the answer you were looking for.

-Sriram

(Principal Engineer, BEA/Weblogic)

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to