Queued messages and failover - Weblogic

This is a discussion on Queued messages and failover - Weblogic ; We have producers producing messages and sending them out to a queue and we want to receive and process them in the order they were sent. So we have a single queue with a single MDB consuming them. However, I'm ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Queued messages and failover

  1. Queued messages and failover

    We have producers producing messages and sending them out to a queue and we want to receive and process them in the order they were sent. So we have a single queue with a single MDB consuming them. However, I'm worried about what happens when the queue and MDB hosting server goes down.

    In particular, the producers cannot retry their messages programatically a) because that might lead the messages to being sent out of order (a retried message appearing after one that succeeds the first time) and b) because the producers are third-party code that just doesn't handle failure well. So how do we allow producers to keep producing messages and ensure in-order delivery during the time it takes to manually migrate the queue from the failed server to another server?

    Thanks,
    =Jeremy=

  2. Re: Queued messages and failover

    Hi Jeremy,

    One possibility is to introduce intermediate queues on the same servers
    that are also running the producers. The producer's
    queue will then always be locally available. Messaging
    bridges (or MDBs) could be used to forward
    the intermediate queue's messages to their final
    destinations.

    Another possibility is to automate the
    fail-over using an HA framework such as Veritas. This
    may speed up the fail-over enough for your purposes.

    Yet another possibility is to design your MDB app to
    tolerate duplicate messages (in typical
    designs producers that retry on failure
    do not cause out-of-order, instead they cause duplicates).
    This is easier said than done, but there are apps that do this.

    Tom

    Jeremy wrote:
    > We have producers producing messages and sending them out to a queue and we want to receive and process them in the order they were sent. So


    > we have a single queue with a single MDB consuming them. However, I'm worried about what happens when the queue and MDB hosting>server goes down.
    >
    > In particular, the producers cannot retry their messages programatically a) because that might leadthe messages to being sent out of order (a retried message appearing

    after one that succeeds the first time) and b) because the producers are
    third-party code that just doesn't handle failure well. So how do we
    allow producers to keep producing messages and ensure in-order delivery
    during the time it takes to manually migrate the queue from the failed
    server to another server?
    >
    > Thanks,
    > =Jeremy=



+ Reply to Thread