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