users@glassfish.java.net

Re: GlassFish JMS Cluster Load Balancing Unpredictable

From: <glassfish_at_javadesktop.org>
Date: Fri, 07 Aug 2009 06:00:22 PDT

I still could nt get this to work..
I have set the consumerFlowLimit to 100 using "imqcmd update dst " command.. I verified the results by imq query command.. Here is my results.

[i]----------------------
Host Primary Port
----------------------
mayavi 37676

Destination Name preprocessedQ
Destination Type Topic
Destination State RUNNING
Created Administratively true

Current Number of Messages
    Actual 0
    Remote 0
    Held in Transaction 0
Current Message Bytes
    Actual 0
    Remote 0
    Held in Transaction 0
Current Number of Producers 0
Current Number of Producer Wildcards 0
Current Number of Consumers 4
Current Number of Consumer Wildcards 0

Max Number of Messages unlimited (-1)
Max Total Message Bytes unlimited (-1)
Max Bytes per Message unlimited (-1)
Max Number of Producers 100

Limit Behavior REJECT_NEWEST
Consumer Flow Limit 100
Is Local Destination false
Use Dead Message Queue true
XML schema validation enabled false
XML schema URI List -
Reload XML schema on failure false

Successfully queried the destination.[/i]

But still my LB is unpredicatable..
How ever when I look at my JMS client Log.. I see the consumerLimit to be 1000..
Here is the log snapshot

[i]Aug 7, 2009 7:27:08 AM com.sun.messaging.jms.ra.ManagedConnection <init>
INFO: MQJMSRA_MC1101: constructor:Created mcId=20:xacId=8064859466712717056:Using xacf config={imqOverrideJMSPriority=false, imqConsumerFlowLimit=1000, imqOverrideJMSExpiration=false, imqAddressListIterations=3, imqLoadMaxToServerSession=true, imqConnectionType=TCP, imqPingInterval=30, imqSetJMSXUserID=false, imqConfiguredClientID=, imqSSLProviderClassname=com.sun.net.ssl.internal.ssl.Provider, imqJMSDeliveryMode=PERSISTENT, imqConnectionFlowLimit=1000, imqConnectionURL=http://localhost/imq/tunnel, imqBrokerServiceName=, imqJMSPriority=4, imqBrokerHostName=localhost, imqJMSExpiration=0, imqAckOnProduce=, imqEnableSharedClientID=false, imqAckTimeout=0, imqAckOnAcknowledge=, imqConsumerFlowThreshold=50, imqDefaultPassword=guest, imqQueueBrowserMaxMessagesPerRetrieve=1000, imqDefaultUsername=guest, imqReconnectEnabled=true, imqConnectionFlowCount=100, imqAddressListBehavior=RANDOM, imqReconnectAttempts=3, imqSetJMSXAppID=false, imqConnectionHandler=com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler, imqSetJMSXRcvTimestamp=false, imqBrokerServicePort=0, imqDisableSetClientID=false, imqSetJMSXConsumerTXID=false, imqOverrideJMSDeliveryMode=false, imqBrokerHostPort=7676, imqQueueBrowserRetrieveTimeout=60000, imqSetJMSXProducerTXID=false, imqSSLIsHostTrusted=false, imqConnectionFlowLimitEnabled=false, imqReconnectInterval=5000, imqAddressList=mq://molu:37676/,mq://MAYAVI:37676/, imqOverrideJMSHeadersToTemporaryDestinations=false}[/i]


My JMS client is a simple java class which does look up on the topic and send message..

and my Consumers are all MDBs in GF cluster.

Just wondering if I have to set some thing for the[b] Resource Adapter[/b] [jmsra] too?


Thanks
[Message sent by forum member 'subodh_subu' (subodh_subu)]

http://forums.java.net/jive/thread.jspa?messageID=359409