Cedric Beust wrote:
>
> > From: A mailing list for Enterprise JavaBeans development
> > [mailto:[EMAIL PROTECTED]]On Behalf Of Richard Monson-Haefel
>
> > This depends a lot on how your vendor handles clustering of MDBs. The
> > specification you quoted is referring to the two different deployments
> > (enterprise beans) that subscribe to the same destination.  With queues,
> > messages are only consumed once.  So if you send a message to a
> > queue, only one of the MDB deployments will be able to get it; the message
> won't
> > be available for other MDBs.
>
> Actually, this issue is even more subtle (subtler?) than this.  It
> definitely depends on how your vendor distributes JMS.  The finest grain you
> can have is the case where the JMS "core" and its destinations can all live
> on different nodes of the cluster.  For example, the JMS service is on
> machine A, destination "queue0" is on machine B and destination "topic1" is
> on machine C.
>
> Now, you can further complicate the picture by throwing failure recovery
> into it.  This can be addressed in two ways:
>
> - only deploy one instance of the destination and handle failure and
> recovery through smart stubs (and automatic redeployment of the failed
> destination on a different node)
> - deploy several instances of the destinations in the cluster but have only
> one active and all the others dormant

You missed an option - you can have all of them simultaneously active.

> And now the final step:  how many redundant MDB's are deployed in a cluster?
> If your MDB is clustered, you expect one instance of it to be present on
> each node of the cluster.
>
> The questions are:
>
> - should all these instances be active?  (i.e. connection opened, session
> active and listeners installed)

That is up to the vendor to determine.

> - for all active instances listening to a Queue, how many should receive the
> message?

One.

> - for all active instances listening to a Topic, how many should receive the
> message?

One.

> Phew.  I didn't think that just laying out the basic problem would take up
> that much space.  As you can guess, answering all these questions can be
> quite lengthy, and once again, it all boils down to the choices your vendor
> made, since basically all the behaviors described above are compliant with
> the JMS and EJB specifications.

I don't believe that duplicate processing of messages sent to MDBs
is a legitimate behaviour. Please show me where in the EJB 2.0 spec
that it says this behaviour is permitted.

What it boils down to is: does your cluster present a "single system image"
in respect of the expected JMS/EJB/MDB behaviour. If not, you should probably
lobby your vendor for a better implementation.

> --
> 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".

--
________________________________________________________________________________

Evan Ireland              Sybase EAServer Engineering        [EMAIL PROTECTED]
                            Wellington, New Zealand               +64 4 934-5856

===========================================================================
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