Ensure FIFO from MQ - Websphere

This is a discussion on Ensure FIFO from MQ - Websphere ; Hai, I am sending a set of messages(say 3). On the client side, the order in which i send is not maintained, ie, messages are delivered in different order. The messages are interrelated and I am facing some problems because ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: Ensure FIFO from MQ

  1. Ensure FIFO from MQ

    Hai,
    I am sending a set of messages(say 3). On the client side, the
    order in which i send is not maintained, ie, messages are delivered in
    different order. The messages are interrelated and I am facing some
    problems because of this.
    How can I ensure that it comes in order

    Kindly Help,

    Arun


  2. Re: Ensure FIFO from MQ

    Yes, you are experiencing the queuing part of MQ. You have several
    options...

    Take a look into MQPMO_LOGICAL_ORDER and MQGMO_LOGICAL_ORDER if the
    messages are related and from the same client (even if messages are on
    the queue your client will wait until the next message in the group
    arrives), if you have multiple clients then message priority is another
    option.

    Jon

    arunvivekp@gmail.com wrote:
    > Hai,
    > I am sending a set of messages(say 3). On the client side, the
    > order in which i send is not maintained, ie, messages are delivered in
    > different order. The messages are interrelated and I am facing some
    > problems because of this.
    > How can I ensure that it comes in order
    >
    > Kindly Help,
    >
    > Arun



  3. Re: Ensure FIFO from MQ

    This is a classic "message affinity" situation in MQ.

    Another suggestion is to put the first message on the main 'waiter'
    queue, and put the second and subsequent related messages on a separate
    queue. Use correlation id to tie them all together, so they can be got
    in the correct order using correl id as the key.

    CorrelId of Message 2 = Message Id of Message 1
    CorrelId of Message 3 = Message Id of Message 2
    CorrelId of Message 4 = Message Id of Message 3
    ....
    Correlid of last Message = none.

    Use syncpoint so that Message 1 is not available to get until all the
    messages in the sequence have been put. Or, don't use syncpoint, and
    put message 1 last, having previosuly invented a unique id which is
    plugged into the correld of message 1 and message 2 (creating an
    affinity between them).


    The easiest approach to the situation is to incorporate all the message
    data into just one message, and segretate the pieces of data using XML
    tags etc.

    HTH,
    Glenn.

    rux wrote:
    > Yes, you are experiencing the queuing part of MQ. You have several
    > options...
    >
    > Take a look into MQPMO_LOGICAL_ORDER and MQGMO_LOGICAL_ORDER if the
    > messages are related and from the same client (even if messages are on
    > the queue your client will wait until the next message in the group
    > arrives), if you have multiple clients then message priority is
    > another option.
    >
    > Jon
    >
    > arunvivekp@gmail.com wrote:
    > > Hai,
    > > I am sending a set of messages(say 3). On the client side,
    > > the order in which i send is not maintained, ie, messages are
    > > delivered in different order. The messages are interrelated and I
    > > am facing some problems because of this.
    > > How can I ensure that it comes in order
    > >
    > > Kindly Help,
    > >
    > > Arun



+ Reply to Thread