diff options
Diffstat (limited to 'README.txt')
-rw-r--r-- | README.txt | 98 |
1 files changed, 84 insertions, 14 deletions
diff --git a/README.txt b/README.txt index 2d646645fd..14706170bc 100644 --- a/README.txt +++ b/README.txt @@ -1,26 +1,21 @@ -All of our user documentation for the Qpid Java components can be accessed on our -wiki at: + +Documentation +-------------- +All of our user documentation for the Qpid Java components can be accessed on our wiki at: http://cwiki.apache.org/confluence/display/qpid/Qpid+Java+Documentation This includes a Getting Started Guide and FAQ as well as detailed developer documentation. +However, here's a VERY quick guide to running the installed Qpid broker, once you have installed it somewhere ! -However, here's a VERY quick guide to running the installed Qpid broker, omce you have installed it somewhere ! Running the Broker ------------------ To run the broker, set the QPID_HOME environment variable to -distribution directory and add $QPID_HOME/bin to your PATH. - -Then run the qpid-server shell script or qpid-server.bat batch file to start -the broker. - -You can then start the broker: - -qpid-server - -By default, the broker will use $QPID_HOME/etc to find +distribution directory and add $QPID_HOME/bin to your PATH. Then run +the qpid-server shell script or qpid-server.bat batch file to start +the broker. By default, the broker will use $QPID_HOME/etc to find the configuration files. You can supply a custom configuration using the -c argument. @@ -30,5 +25,80 @@ qpid-server -c ~/etc/config.xml You can get a list of all command line arguments by using the -h argument. -Note that the Qpid broker needs JDK 1.5 or later. +Developing +---------- + +In order to build Qpid you need Ant 1.6.5. Use ant -p to list the +available targets. The default ant target, build, creates a working +development-mode distribution in the build directory. To run the +scripts in build/bin set QPID_HOME to the build directory and put +${QPID_HOME}/bin on your PATH. The scripts in that directory include +the standard ones in the distribution and a number of testing scripts. + + +Running Tests +------------- + +The simplest test to ensure everything is working is the "service +request reply" test. This involves one client that is known as a +"service provider" and it listens on a well-known queue for +requests. Another client, known as the "service requester" creates a +private (temporary) response queue, creates a message with the private +response queue set as the "reply to" field and then publishes the +message to the well known service queue. The test allows you to time +how long it takes to send messages and receive the response back. It +also allows varying of the message size. + +You must start the service provider first: + +serviceProvidingClient.sh nop host:port + +where host:port is the host and port you are running the broker +on. + +To run the service requester: + +serviceRequestingClient.sh nop host:post <count> <bytes> + +This requests <count> messages, each of size <bytes>. After +receiving all the messages the client outputs the rate it achieved. + +A more realistic test is the "headers test", which tests the +performance of routing messages based on message headers to a +configurable number of clients (e.g. 50). A publisher sends 10000 +messages to each client and waits to receive a message from each +client when it has received all the messages. + +You run the listener processes first: + +run_many.sh 10 header "headersListener.sh -host 10.0.0.1 -port 5672" + +In this command, the first argument means start 10 processes, the +second is just a name use in the log files generated and the third +argument is the command to run. In this case it runs another shell +script but it could be anything. + +Then run the publisher process: + +headersPublisher.sh -host 10.0.0.1 -port 5672 10000 10 + +The last two arguments are: the number of messages to send to each +client, and the number of clients. + +Note that before starting the publisher you should wait about 30 +seconds to ensure all the clients are registered with the broker (you +can see this from the broker output). Otherwise the numbers will be +slightly skewed. + +A third useful test, which can easily be ported to other JMS +implementations is the "topic test". It does the same as the headers +test but using a standard topic (e.g. pub sub). + +To run the listeners: + +run_many.sh 10 topic "topicListener.sh -host 10.0.0.1 -port 5672" + +and to run the publisher: + +topicPublisher.sh -host 10.0.0.1 -port 5672 -clients 10 -messages 10000 |