summaryrefslogtreecommitdiff
path: root/cpp/examples/README
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/examples/README')
-rw-r--r--cpp/examples/README311
1 files changed, 165 insertions, 146 deletions
diff --git a/cpp/examples/README b/cpp/examples/README
index f28eb29937..b5e9c49f9a 100644
--- a/cpp/examples/README
+++ b/cpp/examples/README
@@ -1,146 +1,165 @@
-= Qpid C++ Examples =
-
-Apache Qpid Examples in C++ are found inside this directory, they are
-based on the 0-10 version of the AMQP specification (see amqp.org for
-details). A short description on each example is found below.
-
-Please note that you will have to start the Qpid broker on port 5672,
-on your localhost (127.0.0.1) before running these examples. However,
-it is possible to alternatively specify the host and port when running
-each example.
-
- Ex:- ./declare_queues 127.0.0.1 5673
-
-When the Qpid C++ broker is installed, it is located in:
-- Linux: /usr/sbin/qpidd
-- Windows: C:\Program Files\Apache\qpidc-0.5\bin\qpidd.exe
-
-In a C++ source distribution the broker is located in the src subdirectory
-(generally, from this examples directory, ../src).
-
-== Direct ==
-
-This is an example on how to create Point-to-Point applications using Qpid. This
-example contains three main components.
-
- 1. declare_queues
- This will bind a queue to the amq.direct exchange, so that the messages sent
- to the amq.direct exchange, with a given routing key (routing_key) are
- delivered to a specific queue (message_queue).
-
- 2. direct_producer
- Publishes messages to the amq.direct exchange using the given routing key
- (routing_key) discussed above.
-
- 3. listener
- Uses a message listener to listen messages from a specific queue
- (message_queue) as discussed above.
-
-In order to run this example,
-
-On Linux:
- # ./declare_queues
- # ./direct_producer
- # ./listener
-
-On Windows:
- C:\Program Files\Apache\qpidc-0.5\examples\direct> declare_queues
- C:\Program Files\Apache\qpidc-0.5\examples\direct> direct_producer
- C:\Program Files\Apache\qpidc-0.5\examples\direct> listener
-
-== Fanout ==
-
-This is an example on how to create Fanout exchange applications using Qpid.
-This example has two components unlike the previous. This is because Fanout
-exchange not needing a routing key to be specified.
-
- 1. fanout_producer
- Publishes a message to the amq.fanout exchange, without using a routing key.
-
- 2. listener
- Uses a message listener to listen messages from the amq.fanout exchange.
-
-Another difference between the above example and this example is that in the
-above example there is no requirement for the listener to be activated before
-the messages being published. However, in this example, it is required that a
-listener be active before the messages being published, if not they will be
-lost.
-
-In order to run this example,
-
-On Linux:
- # ./listener
- # ./fanout_producer
-
-On Windows:
- C:\Program Files\Apache\qpidc-0.5\examples\fanout> listener
- C:\Program Files\Apache\qpidc-0.5\examples\direct> fanout_producer
-
-== Publisher/Subscriber ==
-
-Showing The ability to create topic Publishers and Subscribers using Qpid is
-the main objective of this example. It is required that you subscribe first,
-before publishing any message due to the construction of this example. There
-are two main applications in this.
-
- 1. topic_publisher
- This application is used to publish messages to the amq.topic exchange using
- multipart routing keys, usa.weather, europe.weather, usa.news and europe.news.
-
- 2. topic_listener
- This application is used to subscribe to several private queues, such as usa,
- europe, weather and news. In here, each private queue created is bound to the
- amq.topic exchange using bindings that match the corresponding parts of the
- multipart routing keys.
- Ex:- #.news will retrieve news irrespective of destination.
-
-This example also shows the use of the 'control' routing key which is used by
-control messages.
-
-In order to run this example,
-
-On Linux:
- # ./topic_listener
- # ./topic_publisher
-
-On Windows:
- C:\Program Files\Apache\qpidc-0.5\examples\pub-sub> topic_listener
- C:\Program Files\Apache\qpidc-0.5\examples\pub-sub> topic_publisher
-
-== Request/Response ==
-
-This example shows a simple server that will accept string from a client and
-convert them to upper case and send them back to the client. This too has two
-main application like the previous sample.
-
- 1. client
- This sends lines of poetry to the server.
-
- 2. server
- This is a simple service that will convert incoming strings to upper case and
- send the result to amq.direct exchange on which the client listens. It uses the
- request's reply_to property as the response's routing key.
-
-In order to run this example,
-
-On Linux:
- # ./server
- # ./client
-
-On Windows:
- C:\Program Files\Apache\qpidc-0.5\examples\request-response> server
- C:\Program Files\Apache\qpidc-0.5\examples\request-response> client
-
-== QMF Agent ==
-
-This example demonstrates integration with the Qpid Management Framework (QMF).
-After launching a Qpid broker, the sample program will connect to it and
-advertise a managed object (org.apache.qpid.agent.example:parent). Using
-qpid-tool, you can monitor the object and also call a method (create_child) to
-spawn managed child objects.
-
-To build this example, simply invoke make on Unix or Linux. On Windows, you
-must invoke
- nmake /f example_gen.mak
-before building the sample to generate the supporting model classes
-(e.g., Parent,Child,etc.).
+= Qpid C++ Examples =
+
+
+This directory contains example C++ programs for Apache Qpid. They are
+based on the 0-10 version of the AMQP specification (see www.amqp.org for
+details). A short description of each example follows.
+
+Please note that by default these examples attempt to connect to a Qpid
+broker running on the local host (127.0.0.1) at the standard AMQP port (5672).
+It is possible to instruct the examples to connect to an alternate broker
+host and port by specifying the host name/address and port number as arguments
+to the programs. For example, to have the declare_queues program connect to a
+broker running on host1, port 9999, run the following command:
+
+On Linux:
+ # ./declare_queues host1 9999
+
+On Windows:
+ C:\Program Files\Apache\qpidc-0.5\examples\direct> declare_queues host1 9999
+
+The qpid C++ broker executable is named qpidd on Linux and qpidd.exe
+on Windows. The default install locations are:
+- Linux: /usr/sbin
+- Windows: C:\Program Files\Apache\qpidc-0.5\bin
+
+In a C++ source distribution the broker is located in the src subdirectory
+(generally, from this examples directory, ../src).
+
+== Direct ==
+
+This example shows how to create Point-to-Point applications using Qpid. This
+example contains three components.
+
+ 1. declare_queues
+ This will bind a queue to the amq.direct exchange, so that the messages
+ sent to the amq.direct exchange with a given routing key (routing_key) are
+ delivered to a specific queue (message_queue).
+
+ 2. direct_producer
+ Publishes messages to the amq.direct exchange using the given routing key
+ (routing_key) discussed above.
+
+ 3. listener
+ Uses a message listener to listen for messages from a specific queue
+ (message_queue) as discussed above.
+
+In order to run this example,
+
+On Linux:
+ # ./declare_queues
+ # ./direct_producer
+ # ./listener
+
+On Windows:
+ C:\Program Files\Apache\qpidc-0.5\examples\direct> declare_queues
+ C:\Program Files\Apache\qpidc-0.5\examples\direct> direct_producer
+ C:\Program Files\Apache\qpidc-0.5\examples\direct> listener
+
+Note that there is no requirement for the listener to be running before the
+messages are published. The messages are stored in the queue until consumed
+by the listener.
+
+== Fanout ==
+
+This example shows how to create Fanout exchange applications using Qpid.
+This example has two components. Unlike the Direct example, the Fanout exchange
+does not need a routing key to be specified.
+
+ 1. fanout_producer
+ Publishes a message to the amq.fanout exchange, without using a routing key.
+
+ 2. listener
+ Uses a message listener to listen for messages from the amq.fanout exchange.
+
+
+Note that unlike the Direct example, it is necessary to start the listener
+before the messages are published. The fanout exchange does not hold messages
+in a queue. Therefore, it is recommended that the two parts of the example be
+run in separate windows.
+
+In order to run this example:
+
+On Linux:
+ # ./listener
+
+ # ./fanout_producer
+
+On Windows:
+ C:\Program Files\Apache\qpidc-0.5\examples\fanout> listener
+
+ C:\Program Files\Apache\qpidc-0.5\examples\direct> fanout_producer
+
+== Publisher/Subscriber ==
+
+This example demonstrates the ability to create topic Publishers and
+Subscribers using Qpid. This example has two components.
+
+ 1. topic_publisher
+ This application is used to publish messages to the amq.topic exchange
+ using multipart routing keys, usa.weather, europe.weather, usa.news and
+ europe.news.
+
+ 2. topic_listener
+ This application is used to subscribe to several private queues, such as
+ usa, europe, weather and news. In this program, each private queue created
+ is bound to the amq.topic exchange using bindings that match the
+ corresponding parts of the multipart routing keys. For example, subscribing
+ to #.news will retrieve news irrespective of destination.
+
+This example also shows the use of the 'control' routing key which is used by
+control messages.
+
+Due to this example's design, the topic_listener must be running before
+starting the topic_publisher. Therefore, it is recommended that the two parts
+of the example be run in separate windows.
+
+In order to run this example,
+
+On Linux:
+ # ./topic_listener
+
+ # ./topic_publisher
+
+On Windows:
+ C:\Program Files\Apache\qpidc-0.5\examples\pub-sub> topic_listener
+
+ C:\Program Files\Apache\qpidc-0.5\examples\pub-sub> topic_publisher
+
+== Request/Response ==
+
+This example shows a simple server that will accept strings from a client,
+convert them to upper case, and send them back to the client. This example
+has two components.
+
+ 1. client
+ This sends lines of poetry to the server.
+
+ 2. server
+ This is a simple service that will convert incoming strings to upper case
+ and send the result to amq.direct exchange on which the client listens.
+ It uses the request's reply_to property as the response's routing key.
+
+In order to run this example,
+
+On Linux:
+ # ./server
+ # ./client
+
+On Windows:
+ C:\Program Files\Apache\qpidc-0.5\examples\request-response> server
+ C:\Program Files\Apache\qpidc-0.5\examples\request-response> client
+
+== QMF Agent ==
+
+This example demonstrates integration with the Qpid Management Framework (QMF).
+The qmf-agent program will connect to a running Qpid broker and advertise a
+managed object (org.apache.qpid.agent.example:parent). Using the qpid-tool,
+you can monitor the object and also call a method (create_child) to spawn
+managed child objects.
+
+To build this example, simply invoke make on Unix or Linux. On Windows, you
+must invoke
+ nmake /f example_gen.mak
+before building the sample to generate the supporting model classes
+(e.g., Parent,Child,etc.).