diff options
| author | Rajith Muditha Attapattu <rajith@apache.org> | 2012-05-09 16:19:28 +0000 |
|---|---|---|
| committer | Rajith Muditha Attapattu <rajith@apache.org> | 2012-05-09 16:19:28 +0000 |
| commit | 11fd2707e426292b8d6462d36d911171bd3a48a2 (patch) | |
| tree | 753b3326df8edc3636ce4d198bdf237484e7e411 /qpid/java/tools | |
| parent | 59af7da2e4d9113c34655c678238f40652a69d53 (diff) | |
| download | qpid-python-11fd2707e426292b8d6462d36d911171bd3a48a2.tar.gz | |
QPID-3941 Added the c++ equivalent of qpid-send and qpid-receive with
identical options.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1336279 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/tools')
| -rwxr-xr-x | qpid/java/tools/bin/qpid-jms-receive | 193 | ||||
| -rwxr-xr-x | qpid/java/tools/bin/qpid-jms-send | 261 |
2 files changed, 454 insertions, 0 deletions
diff --git a/qpid/java/tools/bin/qpid-jms-receive b/qpid/java/tools/bin/qpid-jms-receive new file mode 100755 index 0000000000..57abe874ff --- /dev/null +++ b/qpid/java/tools/bin/qpid-jms-receive @@ -0,0 +1,193 @@ +#!/bin/sh +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +# This starts the controller for coordinating perf tests/ + +. check-qpid-java-env + +PROGRAM_NAME="qpid-jms-receive" +URL="amqp://guest:guest@clientid/testpath?brokerlist='tcp://localhost:5672'" +ADDRESS="queue;{create:always}" +TIMEOUT="0" +FOREVER="false" +MESSAGES="1" +IGNORE_DUPLICATES="false" +CHECK_REDELIVERED="false" +CAPACITY="1000" +ACK_FREQUENCY="100" +TX="0" +ROLLBACL_FREQUENCY="0" +PRINT_CONTENT="false" +PRINT_HEADERS="false" +REPORT_TOTAL="false" +REPORT_EVERY="0" +REPORT_HEADER="true" +READY_ADDRES="''" +EXTRA_JVM_ARGS="" +VERBOSE="0" + +TEST_ID=`echo ${HOSTNAME} | awk -F . '{print $1}'` + +TEMP=$(getopt -n $PROGRAM_NAME -o b:a:f:m:vh\ + --long broker:,address:,timeout:,forever\ +,messages:,ignore-duplicates,check-redelivered\ +,capacity:,ack-frequency:,tx:,rollback-frequency:\ +,print-content:,print-headers:,report-total\ +,report-every:,report-header:,ready-address:\ +,jvm-args:,verbose,help -- "$@") + +# padding the option string with 4 spaces +# padding the desc string with 30 spaces +usage() +{ + printf "\n%s\n" "Usage: $PROGRAM_NAME [option].." + + printf "\n%20s\n%57s\n" "-b, --broker URL" "url of broker to connect to" + + printf "\n%24s\n%53s\n" "-a,--address ADDRESS" "address to receive from" + + printf "\n%25s\n%71s\n" "--timeout TIMEOUT (0)" "timeout in seconds to wait before exiting" + + printf "\n%17s\n%61s\n" "-f, --forever" "ignore timeout and wait forever" + + printf "\n%24s\n%89s\n" "-m, --messages N (0)" "Number of messages to receive; 0 means receive indefinitely" + + printf "\n%23s\n%84s\n" "--ignore-duplicates" "Detect and ignore duplicates (by checking 'sn' header)" + + printf "\n%23s\n%82s\n%92s\n" "--check-redelivered" "Fails with exception if a duplicate is not marked as" " redelivered (only relevant when ignore-duplicates is selected)" + + printf "\n%23s\n%71s\n" "--capacity N (1000)" "Pre-fetch window (0 implies no pre-fetch)" + + printf "\n%27s\n%94s\n" "--ack-frequency N (100)" "Ack frequency (0 implies none of the messages will get accepted)" + + printf "\n%14s\n%94s\n" "--tx N (0)" "batch size for transactions (0 implies transaction are not used)" + + printf "\n%30s\n%94s\n" "--rollback-frequency N (0)" "rollback frequency (0 implies no transaction will be rolledback)" + + printf "\n%30s\n%55s\n" "--print-content yes|no (0)" "print out message content" + + printf "\n%30s\n%55s\n" "--print-headers yes|no (0)" "print out message headers" + + printf "\n%18s\n%76s\n" "--report-total" "Report total throughput and latency statistics" + + printf "\n%24s\n%87s\n" "--report-every N (0)" "Report throughput and latency statistics every N messages" + + printf "\n%30s\n%47s\n" "--report-header yes|no (1)" "Headers on report" + + printf "\n%27s\n%82s\n" "--ready-address ADDRESS" "send a message to this address when ready to receive" + + printf "\n%14s\n%69s\n" "--jvm-args" "Extra jvm arguments you want to specify" + + printf "\n%17s\n%69s\n\n" "-v, --verbose" "Print debug information for this script" +} + +eval set -- "$TEMP" +while true; do + case $1 in + -b|--broker) + URL="$2"; shift; shift; continue + ;; + -a|--address) + ADDRESS="$2"; shift; shift; continue + ;; + --timeout) + TIMEOUT="$2"; shift; shift; continue + ;; + -f|--forever) + FOREVER="$2"; shift; shift; continue + ;; + -m|--messages) + MESSAGES="$2"; shift; shift; continue + ;; + --ignore-duplicates) + IGNORE_DUPLICATES="true"; shift; continue + ;; + --check-redelivered) + CHECK_REDELIVERED="true"; shift; continue + ;; + --capacity) + CAPACITY="$2"; shift; shift; continue + ;; + --ack-frequency) + ACK_FREQUENCY="$2"; shift; shift; continue + ;; + --tx) + TX="$2"; shift; shift; continue + ;; + --rollback-frequency) + ROLLBACK_FREQUENCY="$2"; shift; shift; continue + ;; + --print-content) + if [ "$2" == "yes" ]; then PRINT_CONTENT="true"; else PRINT_CONTENT="false"; fi; shift; shift; continue + ;; + --print-headers) + if [ "$2" == "yes" ]; then PRINT_HEADERS="true"; else PRINT_HEADERS="false"; fi; shift; shift; continue + ;; + --report-total) + REPORT_TOTAL="true"; shift; continue + ;; + --report-every) + REPORT_EVERY="$2"; shift; shift; continue + ;; + --report-header) + if [ "$2" == "yes" ]; then REPORT_HEADER="true"; else REPORT_HEADER="false"; fi; shift; shift; continue + ;; + --ready-address) + READY_ADDRESS="$2"; shift; shift; continue + ;; + -a|--jvm-args) + EXTRA_JVM_ARGS="$2"; shift; shift; continue + ;; + -h|--help) + usage + exit 0 + ;; + -v|--verbose) + VERBOSE="1"; shift; continue + ;; + --) + # no more arguments to parse + break + ;; + *) + # no more arguments to parse + break + ;; + esac +done + +RECEIVER_ARGS="-server -Durl=$URL \ +-Daddress=$ADDRESS \ +-Dtimeout=$TIMEOUT \ +-Dmsg-count=$MESSAGES \ +-Dack-frequency=$ACK_FREQUENCY \ +-Dtx=$TX \ +-Drollback-frequnecy=$ROLLBACL_FREQUENCY \ +-Dprint-content=$PRINT_CONTENT \ +-Dprint-headers=$PRINT_HEADERS \ +-Dreport-total=$REPORT_TOTAL \ +-Dreport-every=$REPORT_EVERY \ +-Dreport-header=$REPORT_HEADER \ +-Dmax_prefetch=$CAPACITY " + +if [ "x$READY_ADDRESS" != "x" ]; then RECEIVER_ARGS="$RECEIVER_ARGS -Dready-address=$READY_ADDRESS"; fi +if [ "$VERBOSE" == "1" ]; then echo $RECEIVER_ARGS; fi +echo $RECEIVER_ARGS +$JAVA -cp $CLASSPATH $LOG_CONFIG $JAVA_MEM $RECEIVER_ARGS org.apache.qpid.tools.QpidReceive diff --git a/qpid/java/tools/bin/qpid-jms-send b/qpid/java/tools/bin/qpid-jms-send new file mode 100755 index 0000000000..d7695924f0 --- /dev/null +++ b/qpid/java/tools/bin/qpid-jms-send @@ -0,0 +1,261 @@ +#!/bin/sh +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +# This starts the controller for coordinating perf tests/ + +. check-qpid-java-env + +PROGRAM_NAME="qpid-jms-send" +URL="amqp://guest:guest@clientid/testpath?brokerlist='tcp://localhost:5672'" +ADDRESS="queue;{create:always}" +MESSAGES="1" +ID="" +REPLY_TO="" +SEND_EOS="1" +DURABLE="false" +TTL="0" +PRIORITY="0" +PROPERTY="" +CORRELATION_ID="" +USER_ID="" +CONTENT_STRING="" +CONTENT_SIZE="1024" +CONTENT_MAP="" +CAPACITY="1000" +ACK_FREQUENCY="100" +TX="0" +ROLLBACL_FREQUENCY="0" +PRINT_CONTENT="true" +PRINT_HEADERS="false" +REPORT_TOTAL="false" +REPORT_EVERY="0" +REPORT_HEADER="true" +SEND_RATE="-1" +SEQUNCE="1" +DISABLE_TIMESTAMP="false" +EXTRA_JVM_ARGS="" +VERBOSE="0" + +TEST_ID=`echo ${HOSTNAME} | awk -F . '{print $1}'` + +TEMP=$(getopt -n $PROGRAM_NAME -o b:a:m:i:P:M:vh\ + --long broker:,address:,messages:,id:,reply-to:\ +,send-eos:,durable:,ttl:,property:,correlational-id:\ +,user-id:,content-string:,content-size:,content-map:\ +,capacity:,ack-frequency:,tx:,rollback-frequency:\ +,print-content:,print-headers:,report-total\ +,report-every:,report-header:,send-rate:,sequence:,timestamp:\ +,jvm-args:,verbose,help -- "$@") + +# padding the option string with 4 spaces +# padding the desc string with 30 spaces +usage() +{ + printf "\n%s\n" "Usage: $PROGRAM_NAME [option].." + + printf "\n%20s\n%57s\n" "-b, --broker URL" "url of broker to connect to" + + printf "\n%24s\n%53s\n" "-a,--address ADDRESS" "address to receive from" + + printf "\n%24s\n%89s\n" "-m, --messages N (0)" "Number of messages to receive; 0 means receive indefinitely" + + printf "\n%15s\n%75s\n" "-i, --id ID" "use the supplied id instead of generating one" + + printf "\n%23s\n%54s\n" "--reply-to REPLY-TO" "specify reply-to address" + + printf "\n%20s\n%70s\n" "--send-eos N (0)" "send N EOS messages to mark end of input" + + printf "\n%24s\n%54s\n" "--durable yes|no (0)" "mark messages as durable" + + printf "\n%19s\n%72s\n" "--ttl msecs (0)" "time-to-live for messages, in milliseconds" + + printf "\n%27s\n%72s\n" "--priority PRIORITY (0)" "time-to-live for messages, in milliseconds" + + printf "\n%29s\n%54s\n" "-P, --property NAME=VALUE" "specify message property" + + printf "\n%23s\n%57s\n" "--correlation-id ID" "correlation-id for message" + + printf "\n%20s\n%48s\n" "--user-id USERID" "userid for message" + + printf "\n%28s\n%60s\n" "--content-string CONTENT" "use CONTENT as message content" + + printf "\n%24s\n%62s\n" "--content-size N (0)" "create an N-byte message content" + + printf "\n%32s\n%59s\n" "-M, --content-map NAME=VALUE" "specify entry for map content" + + printf "\n%23s\n%71s\n" "--capacity N (1000)" "Pre-fetch window (0 implies no pre-fetch)" + + printf "\n%27s\n%94s\n" "--ack-frequency N (100)" "Ack frequency (0 implies none of the messages will get accepted)" + + printf "\n%14s\n%94s\n" "--tx N (0)" "batch size for transactions (0 implies transaction are not used)" + + printf "\n%30s\n%94s\n" "--rollback-frequency N (0)" "rollback frequency (0 implies no transaction will be rolledback)" + + printf "\n%30s\n%55s\n" "--print-content yes|no (1)" "print out message content" + + printf "\n%30s\n%55s\n" "--print-headers yes|no (0)" "print out message headers" + + printf "\n%18s\n%76s\n" "--report-total" "Report total throughput and latency statistics" + + printf "\n%24s\n%87s\n" "--report-every N (0)" "Report throughput and latency statistics every N messages" + + printf "\n%30s\n%47s\n" "--report-header yes|no (1)" "Headers on report" + + printf "\n%21s\n%64s\n%62s\n" "--send-rate N (0)" "Send at rate of N messages/second." "0 means send as fast as possible" + + printf "\n%25s\n%69s\n%77s\n" "--sequence yes|no (1)" "Add a sequence number messages property" "(required for duplicate/lost message detection)" + + printf "\n%26s\n%64s\n%77s\n" "--timestamp yes|no (1)" "Add a time stamp messages property" "(required for duplicate/lost message detection)" + + printf "\n%14s\n%69s\n" "--jvm-args" "Extra jvm arguments you want to specify" + + printf "\n%17s\n%69s\n\n" "-v, --verbose" "Print debug information for this script" +} + +eval set -- "$TEMP" +while true; do + case $1 in + -b|--broker) + URL="$2"; shift; shift; continue + ;; + -a|--address) + ADDRESS="$2"; shift; shift; continue + ;; + -m|--messages) + MESSAGES="$2"; shift; shift; continue + ;; + -i|--id) + ID="$2"; shift; shift; continue + ;; + --reply-to) + REPLY_TO="$2"; shift; shift; continue + ;; + --send-eos) + SEND_EOS="$2"; shift; shift; continue + ;; + --durable) + if [ "$2" == "1" ]; then DURABLE="true"; else DURABLE="false"; fi; shift; shift; continue + ;; + --ttl) + TTL="$2"; shift; shift; continue + ;; + --priority) + PRIORITY="$2"; shift; shift; continue + ;; + -P|--property) + PROPERTY="$2,$PROPERTY"; shift; shift; continue + ;; + --correlation-id) + CORRELATION_ID="$2"; shift; shift; continue + ;; + --user-id) + USER_ID="$2"; shift; shift; continue + ;; + --content-string) + CONTENT_STRING="$2"; shift; shift; continue + ;; + --content-size) + CONTENT_SIZE="$2"; shift; shift; continue + ;; + -M|--content-map) + CONTENT_MAP="$2,$CONTENT_MAP"; shift; shift; continue + ;; + --capacity) + CAPACITY="$2"; shift; shift; continue + ;; + --ack-frequency) + ACK_FREQUENCY="$2"; shift; shift; continue + ;; + --tx) + TX="$2"; shift; shift; continue + ;; + --rollback-frequency) + ROLLBACK_FREQUENCY="$2"; shift; shift; continue + ;; + --print-content) + if [ "$2" == "yes" ]; then PRINT_CONTENT="true"; else PRINT_CONTENT="false"; fi; shift; shift; continue + ;; + --print-headers) + if [ "$2" == "yes" ]; then PRINT_HEADERS="true"; else PRINT_HEADERS="false"; fi; shift; shift; continue + ;; + --report-total) + REPORT_TOTAL="true"; shift; continue + ;; + --report-every) + REPORT_EVERY="$2"; shift; shift; continue + ;; + --report-header) + if [ "$2" == "yes" ]; then REPORT_HEADER="true"; else REPORT_HEADER="false"; fi; shift; shift; continue + ;; + --send-rate) + SEND_RATE="$2"; shift; shift; continue + ;; + --sequence) + if [ "$2" == "yes" ]; then SEQUENCE="true"; else SEQUENCE="false"; fi; shift; shift; continue + ;; + --timestamp) + if [ "$2" == "yes" ]; then DISABLE_TIMESTAMP="false"; else DISABLE_TIMESTAMP="true"; fi; shift; shift; continue + ;; + -a|--jvm-args) + EXTRA_JVM_ARGS="$2"; shift; shift; continue + ;; + -h|--help) + usage + exit 0 + ;; + -v|--verbose) + VERBOSE="1"; shift; continue + ;; + --) + # no more arguments to parse + break + ;; + *) + # no more arguments to parse + break + ;; + esac +done + +SENDER_ARGS="-server -Durl=$URL \ +-Daddress=$ADDRESS \ +-Dmsg-count=$MESSAGES \ +-Dsend-eos=$SEND_EOS \ +-Ddurable=$DURABLE \ +-Dmsg_size=$CONTENT_SIZE \ +-Dsend-rate=$SEND_RATE \ +-Ddisable-timestamp=$DISABLE_TIMESTAMP \ +-Dttl=$TTL \ +-Dpriority=$PRIORITY \ +-Dtx=$TX \ +-Drollback-frequnecy=$ROLLBACK_FREQUENCY \ +-Dprint-content=$PRINT_CONTENT \ +-Dprint-headers=$PRINT_HEADERS \ +-Dreport-total=$REPORT_TOTAL \ +-Dreport-every=$REPORT_EVERY \ +-Dreport-header=$REPORT_HEADER \ +-Dmax_prefetch=$CAPACITY " + +if [ "x$ID" != "x" ]; then SENDER_ARGS="$SENDER_ARGS -Did=$ID"; fi +if [ "x$USER_ID" != "x" ]; then SENDER_ARGS="$SENDER_ARGS -Duser_id=$USER_ID"; fi +if [ "x$CORRELATION_ID" != "x" ]; then SENDER_ARGS="$SENDER_ARGS -Dcorrelation_id=$CORRELATION_ID"; fi + +if [ "$VERBOSE" == "1" ]; then echo $SENDER_ARGS; fi +$JAVA -cp $CLASSPATH $LOG_CONFIG $JAVA_MEM $SENDER_ARGS org.apache.qpid.tools.QpidSend |
