Hi,
I wrote a comprehensive client to send/receive and analyse JMS messages to
WSO2 MB.
It is easy to use - go to bin folder and execute andesClient script with
parameters
Please find the source at [1]. You might need to put and rebuild with
latest andes-client when using.
Following are the operations supported with example commands to run in
terminal
First parameter is *mode*.
send - send messages to queues/topic
receive - receive messages
browse - browse messages for queues
purge - purge messages of a queue
analyse - analyse received data for missing messages, duplications, message
orders etc
cassandra - analyse cassandra data connecting to cassandra via hector
- if mode is send/receive other parameters should be
hosts host1:port,host2:port;
destinations queue:q1,q2,q3|topic:t1,t2,t3; (recommended to use only
queues or topic at once)
printNumberOfMessagesPer 100 (this will set how often to print the
message count.)
isToPrintEachMessage false
numOfSecondsToRun 600
count 1000;
numOfThreads 5;
params
listener=true,durable=false,subscriptionID=sub1,file="",ackMode=AUTO,delayBetweenMsg=200,stopAfter=12,ackAfterEach=300,commitAfterEach=300,rollbackAfterEach=400,unsubscribeAfter=500
(all parameters are optional)
connectionString (optional - if given it will override the connection
string made by username/password/host/port. This is useful for failover
testing)
example command:
*sh andesClient.sh receive 127.0.0.1:5672 <http://127.0.0.1:5672>
queue:myQueue1 1 true 100 1000 1
listener=true,ackMode=1,delayBetweenMsg=0,stopAfter=1000 ""*
parameters are always key-value pairs. Be sure not to input a key
without a value (eg: file=""). Instead get rid of key.
- if mode is browse other parameters should be
mode browse
host Name And Port localhost:5672
destination myQueue
print Number Of Messages Per 100
is To Print Each Message false
example command
*sh andesClient.sh browse localhost:5672 myQueue 100 false*
NOTE: more than one hostname or more than one queue is not supported
- if mode is purge other parameters should be
mode purge
host name and port localhost:5673
destination myQueue
- if mode is analyse other parameters should be
printMessages - print messages received
printDuplicates - print duplicate messages if any
printMissing - print missing messages given the number of messages expected
printSorted - print received messages in sorted order
checkOrder - check if messages are in oder. This gives the place where
order is broken if order is broken
clearFile (for printMissing pass how many messages were expected)
Note: if you send messages from a file this is not supported
- if mode is cassandra other parameters should be
connectionString - host:port:username:password (optional - if not
given assume localhost:9160:admin:admin)
operation - gq <globalQueueName> / nq <nodeQueueName> / tnq
<topicNodeQueueName> / count <queueName> / content / metadata / subscribers
/hash <destination>
and other parameters as necessary
gq - get global queue info (cassandra 10.100.1.146:9160:admin:admin gq
GlobalQueue_1)
nq - get node queue info (cassandra 10.100.1.146:9160:admin:admin nq
NodeQueue_1)
tnq - get topic node queue info (cassandra 10.100.1.146:9160:admin:admin
tnq TopicNodeQueue_1)
count - get cassandra message count for queue
content - list content info
metadata - list metadata info
subscribers - list topic subscribers info
hash - get the global queue name a given destination is hashed to
NOTE: more than one hostname or more than one queue is not supported
[1]. http://svn.wso2.org/repos/wso2/people/hasithah/MBTestProjectNew
Thanks
--
*Hasitha Abeykoon*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
*cell:* *+94 719363063*
*blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev