AQ - Message Bridge - Distributed Queue - Weblogic

This is a discussion on AQ - Message Bridge - Distributed Queue - Weblogic ; Hi, As suggested by Tom, I am using Message Bridge to enable concurrent consumption of messages from AQ. I am using MDBs for consumption from a local JMS queue which is on the other end of the Message Bridge. I ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: AQ - Message Bridge - Distributed Queue

  1. AQ - Message Bridge - Distributed Queue


    Hi,

    As suggested by Tom, I am using Message Bridge to enable concurrent consumption
    of messages from AQ. I am using MDBs for consumption from a local JMS queue which
    is on the other end of the Message Bridge.

    I need to deploy the application on a clustered environment (on WLS 8).
    I have two approaches -

    1> AQ -> Message Bridge (MB) -> Distributed Queue (DQ) -> Q1, Q2, Q3 etc.

    where Q1, Q2 & Q3 are physical queues on JMS servers hosted on different managed
    servers on the cluster.


    2> AQ -> Message Bridge (MBn) -> Qn

    where n is equal to the number of managed servers on the cluster and Q is a physical
    queue on one of the managed servers on the cluster.


    I have used MDBs to consume messages from the physical queues in both approaches.


    The problem in approach 1 is that the message is sent to just a single physical
    queue on the cluster, when the DQ is at the receiving end of the Message Bridge.

    Any pointers to solving this problem would be helpful.

    Point to note : There is no problem with the DQ, coz the DQ load balances between
    the physical queues when the message is "directly" sent to the queue i.e. without
    Message Bridge coming into the picture.


    Using approach 2, I am able to send messages to all physical queues on the managed
    servers.

    Also, suggest which approach is better when the application is deployed on a clustered
    environment.

    Dips

  2. Re: AQ - Message Bridge - Distributed Queue

    I suspect that your test client is using a different connection
    factory than your MDB, or is getting a new connection
    for each new message sent (unlike the bridge).

    The load balancing behavior of a sender to a distributed Q is
    controlled by connection factory configuration.
    See "load balancing enabled" and "server affinity enabled"
    on the CF. In your case, you want "true" and "false"
    respectively, but the defaults are "true" and "true".

    Once you have a correctly configured custom connection factory,
    configure your bridge destination to refer to the JNDI
    name of this factory.

    Tom

    Diptanshu Parui wrote:

    > Hi,
    >
    > As suggested by Tom, I am using Message Bridge to enable concurrent consumption
    > of messages from AQ. I am using MDBs for consumption from a local JMS queue which
    > is on the other end of the Message Bridge.
    >
    > I need to deploy the application on a clustered environment (on WLS 8).
    > I have two approaches -
    >
    > 1> AQ -> Message Bridge (MB) -> Distributed Queue (DQ) -> Q1, Q2, Q3 etc.
    >
    > where Q1, Q2 & Q3 are physical queues on JMS servers hosted on different managed
    > servers on the cluster.
    >
    >
    > 2> AQ -> Message Bridge (MBn) -> Qn
    >
    > where n is equal to the number of managed servers on the cluster and Q is a physical
    > queue on one of the managed servers on the cluster.
    >
    >
    > I have used MDBs to consume messages from the physical queues in both approaches.
    >
    >
    > The problem in approach 1 is that the message is sent to just a single physical
    > queue on the cluster, when the DQ is at the receiving end of the Message Bridge.
    >
    > Any pointers to solving this problem would be helpful.
    >
    > Point to note : There is no problem with the DQ, coz the DQ load balances between
    > the physical queues when the message is "directly" sent to the queue i.e. without
    > Message Bridge coming into the picture.
    >
    >
    > Using approach 2, I am able to send messages to all physical queues on the managed
    > servers.
    >
    > Also, suggest which approach is better when the application is deployed on a clustered
    > environment.
    >
    > Dips



  3. Re: AQ - Message Bridge - Distributed Queue


    Thanks Tom.

    Just setting "load balancing enabled" and "server affinity enabled" on the CF
    to "true" and "false" respectively has resolved the issue.

    cheers !

    Dips


    Tom Barnes
    wrote:
    >I suspect that your test client is using a different connection
    >factory than your MDB, or is getting a new connection
    >for each new message sent (unlike the bridge).
    >
    >The load balancing behavior of a sender to a distributed Q is
    >controlled by connection factory configuration.
    >See "load balancing enabled" and "server affinity enabled"
    >on the CF. In your case, you want "true" and "false"
    >respectively, but the defaults are "true" and "true".
    >
    >Once you have a correctly configured custom connection factory,
    >configure your bridge destination to refer to the JNDI
    >name of this factory.
    >
    >Tom
    >
    >Diptanshu Parui wrote:
    >
    >> Hi,
    >>
    >> As suggested by Tom, I am using Message Bridge to enable concurrent

    >consumption
    >> of messages from AQ. I am using MDBs for consumption from a local JMS

    >queue which
    >> is on the other end of the Message Bridge.
    >>
    >> I need to deploy the application on a clustered environment (on WLS

    >8).
    >> I have two approaches -
    >>
    >> 1> AQ -> Message Bridge (MB) -> Distributed Queue (DQ) -> Q1, Q2, Q3

    >etc.
    >>
    >> where Q1, Q2 & Q3 are physical queues on JMS servers hosted on different

    >managed
    >> servers on the cluster.
    >>
    >>
    >> 2> AQ -> Message Bridge (MBn) -> Qn
    >>
    >> where n is equal to the number of managed servers on the cluster and

    >Q is a physical
    >> queue on one of the managed servers on the cluster.
    >>
    >>
    >> I have used MDBs to consume messages from the physical queues in both

    >approaches.
    >>
    >>
    >> The problem in approach 1 is that the message is sent to just a single

    >physical
    >> queue on the cluster, when the DQ is at the receiving end of the Message

    >Bridge.
    >>
    >> Any pointers to solving this problem would be helpful.
    >>
    >> Point to note : There is no problem with the DQ, coz the DQ load balances

    >between
    >> the physical queues when the message is "directly" sent to the queue

    >i.e. without
    >> Message Bridge coming into the picture.
    >>
    >>
    >> Using approach 2, I am able to send messages to all physical queues

    >on the managed
    >> servers.
    >>
    >> Also, suggest which approach is better when the application is deployed

    >on a clustered
    >> environment.
    >>
    >> Dips

    >



+ Reply to Thread