...
Before running the examples, you need to unzip the file Qpid.NET-net-2.0-M4.zip, the following tree is created:
Code Block |
---|
<home> |-qpid |
...
|-lib (contains the required dlls) |
...
-examples
...
- direct
...
|-examples |- direct | |-example-direct-Listener.exe |
...
| |-example-direct-Producer.exe |
...
- fanout
...
|- fanout | |-example-fanout-Listener.exe |
...
| |-example-fanout-Producer.exe |
...
- pub-sub
...
|- pub-sub | |-example-pub-sub-Listener.exe |
...
| |-example-pub-sub-Publisher.exe |
...
|- request-response |
...
|-example-request-response-Client.exe |
...
|-example-request-response-Server.exe |
Make sure your PATH contains the directory <home>/qpid/lib
Creating and Closing Sessions
All of the examples have been written using the Apache Qpid .NEt 0.10 API. The examples use the same skeleton code to initialize the program, create a session, and clean up before exiting:
Code Block |
---|
using System;
using System.IO;
using System.Text;
using System.Threading;
using org.apache.qpid.client;
using org.apache.qpid.transport;
...
private static void Main(string[] args)
{
string host = args.Length > 0 ? args[0] : "localhost";
int port = args.Length > 1 ? Convert.ToInt32(args[1]) : 5672;
Client connection = new Client();
try
{
connection.connect(host, port, "test", "guest", "guest");
ClientSession session = connection.createSession(50000);
//--------- Main body of program --------------------------------------------
connection.close();
}
catch (Exception e)
{
Console.WriteLine("Error: \n" + e.StackTrace);
}
}
...
|
Writing Direct Applications
This section describes three programs that implement direct messaging using a Direct
exchange:
• org.apache.qpid.example.direct.Producer (from example-direct-producer) publishes messages to the amq.direct exchange, using the routing key routing_key.
•org.apache.qpid.example.direct.Listener (from example-direct-Listener) uses a message listener to receive messages from the queue named message_queue.