users@glassfish.java.net

Re: Glassfish JMS messages delivery

From: Amy Kang <amy.kang_at_oracle.com>
Date: Fri, 17 Jun 2011 14:28:04 -0700

You may have encountered the known performance issue in remote message
consuming when local consumer destination limit reached in 4.5
http://java.net/jira/browse/MQ-102

The issue will be fixed in 4.5.1. To workaround it either set the
destination limit to unlimited, or set the following private properties

broker property
imq.cluster.enforceRemoteDestinationLimit=false

  broker private Java system properties
imq.cluster.disableRedeliverRemoteRejectedMsg=true
imq.cluster.routeRejectedRemoteMsg=true

amy

On 11-06-08 01:01 PM, forums_at_java.net wrote:
> I'm trying to implement messages broadcast within 3 nodes conventional
> masterbroker cluster using JMS.
>
> It seems to work OK without much load and under high load at the
> begining
> but after a while (~200000 messages from each node) performance degrades
> dramatically and nodes don't receive all messages (e.g. one has 150000
> another - 100000 or so)
>
> Connection factory attribute useSharedSubscriptionInClusteredContainer
> is set
> to false.
>
> Producer gets started like following
>
> cf = (ConnectionFactory) ctx.lookup("CF");
> bus = (Destination) ctx.lookup("D1");
> conn = cf.createConnection();
> sess = conn.createSession(false, Session.DUPS_OK_ACKNOWLEDGE);
> prod = sess.createProducer(bus);
> prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
> prod.setDisableMessageID(true);
> prod.setDisableMessageTimestamp(true);
> msg = sess.createObjectMessage();
> conn.start();
> Consumer - like following
>
> bus = (Destination)ctx.lookup("D1");
> conn = cf.createConnection();
> sess = conn.createSession(false, Session.DUPS_OK_ACKNOWLEDGE);
> cons = sess.createConsumer(bus);
> conn.start();
>
> Messages get received using cons.receive(); What am doing wrong? Many
> thanks
> in advance.
>
>
> --
>
> [Message sent by forum member 'alex2001']
>
> View Post: http://forums.java.net/node/810856
>
>