diff options
Diffstat (limited to 'cpp/examples/README')
| -rw-r--r-- | cpp/examples/README | 311 |
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.).
|
