> From: Richard Monson-Haefel [mailto:[EMAIL PROTECTED]]
> This makes it difficult to bind a MDB to an outside JMS provider.
> In other words, it would be very difficult to model this behavior when
> using MDB from vendor A that subscribes to a JMS provider of vendor B.
The MDB
> vendor must have an intimate knowable and control of the JMS provider it
> using if its going to realize the concept of a "single system image".
Very true.
Note that this (unfortunate) intimate knowledge between the JMS provider and
the EJB container is already unavoidable: the specification states that if
an MDB is transactional, then the message receipt must be part of the
transaction. Since this is not the way JMS transactions are defined, JMS
needs to know when it is delivering a message to a transactional MDB as
opposed to a regular listener. In that case, it must begin (or resume) the
transaction before the message is picked off the queue.
Hence the impossibility to support external JMS providers while staying EJB
compliant for an EJB 2.0 container.
> One of the disadvantages of using MDB with J2EE platforms in that
> many of them must use a specific JMS provider. Weblogic, for example,
> requires that its native JMS provider be used with MDBs (this may change).
<vendor>
It is already there: you can specify in the WebLogic deployment descriptor
which JNDI provider and connection factories should be looked up by the EJB
container to create its sessions and destinations. Note that you lose the
transactional behavior in that case, as explained above.
</vendor>
> In the end it may turn out to be impractical to use topics and clustering
> together with disparate platforms (mixed EJB and JMS vendors). A
> situation that the community needs to be aware of.
Agreed.
--
Cedric
===========================================================================
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".