Cedric,

You mention the possibility of a recursive loop if a system exception is
thrown from an MDB. In fact the MDB vendor may elect after a few retries
to place the message in come kind of dead message area - this is a quality
of implementation issue that is not specifically addressed in the spec.

Cedric Beust wrote:
>
> John already replied, but to complete his answer:
>
> > From: A mailing list for Enterprise JavaBeans development
> > [mailto:[EMAIL PROTECTED]]On Behalf Of Robert Nicholson
> >
> > As long as an EJB gets an onMessage call, regardless of bean managed
> > transactions or container managed, is that considered to have been a
> > succsessful delivery? and therefore nothing will ever get put
> > back into the
> > a queue even if system exceptions are raised?
>
> The message *will* be put back on the queue if a System Exception is raised,
> therefore ending in a recursive loop as the message is being redelivered to
> another instance of your MDB (the initial one having been destroyed).
>
> Therefore, it is strongly discouraged to throw SystemExceptions or roll back
> transactions within an onMessage() method.  The proper way is to emit an
> error message (e.g. on a separate JMS queue) and commit the transaction.
>
> --
> 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