| #!/bin/bash | |
| # | |
| # 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. | |
| # | |
| # Run the c++ or java topic test | |
| . `dirname $0`/env | |
| # Edit parameters here: | |
| # Big test: | |
| # LISTENERS=10 | |
| # MESSAGES=10000 | |
| # BATCHES=20 | |
| LISTENERS=10 | |
| MESSAGES=2000 | |
| BATCHES=10 | |
| cppcmds() { | |
| LISTEN_CMD=./topic_listener | |
| PUBLISH_CMD="./topic_publisher -messages $MESSAGES -batches $BATCHES -subscribers $LISTENERS" | |
| } | |
| javacmds() { | |
| DEF=-Damqj.logging.level="error" | |
| LISTEN_CMD="qpid-run $DEF org.apache.qpid.topic.Listener" | |
| PUBLISH_CMD="qpid-run $DEF org.apache.qpid.topic.Publisher -messages $MESSAGES -batch $BATCHES -clients $LISTENERS" | |
| } | |
| case $1 in | |
| c) cppcmds ;; | |
| j) javacmds ;; | |
| *) cppcmds ;; | |
| esac | |
| for ((i=$LISTENERS ; i--; )); do | |
| $LISTEN_CMD > /dev/null 2>&1 & | |
| done | |
| sleep 1 | |
| echo $PUBLISH_CMD $OPTIONS | |
| STATS=~/bin/topictest.times | |
| echo "---- topictest `date`" >> $STATS | |
| $PUBLISH_CMD $OPTIONS | tee -a $STATS |