Author: chug
Date: Wed Dec 1 19:54:13 2010
New Revision: 1041141
URL: http://svn.apache.org/viewvc?rev=1041141&view=rev
Log:
Bring QPID .NET Binding examples more in line with cpp examples.
1. Return 0/1 from main to indicate success/failure, where possible.
2. Call sender's session.Sync() after transmitting messages and not waiting for
responses.
3. Add third arg connectionOptions as used in cpp examples.
Modified:
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/csharp.direct.receiver.cs
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/csharp.direct.sender.cs
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.client/csharp.example.client.cs
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/csharp.example.declare_queues.cs
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/csharp.example.drain.cs
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.server/csharp.example.server.cs
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/csharp.example.spout.cs
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.cs
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/csharp.map.callback.sender.cs
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/csharp.map.recevier.cs
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/csharp.map.sender.cs
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/visualbasic.example.client.vb
Modified:
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/csharp.direct.receiver.cs
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/csharp.direct.receiver.cs?rev=1041141&r1=1041140&r2=1041141&view=diff
==============================================================================
---
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/csharp.direct.receiver.cs
(original)
+++
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.direct.receiver/csharp.direct.receiver.cs
Wed Dec 1 19:54:13 2010
@@ -31,7 +31,7 @@ namespace CSharpDirect
// Receive 10 messages from localhost:5672, amq.direct/key
// Messages are assumed to be printable strings.
//
- static void Main(string[] args)
+ static int Main(string[] args)
{
String host = "localhost:5672";
String addr = "amq.direct/key";
@@ -66,12 +66,14 @@ namespace CSharpDirect
Console.WriteLine("Rcvd msg {0} : {1}", i,
msg2.GetContent());
}
connection.Close();
+ return 0;
}
} catch (Exception e) {
Console.WriteLine("Exception {0}.", e);
if (null != connection)
connection.Close();
}
+ return 1;
}
}
}
\ No newline at end of file
Modified:
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/csharp.direct.sender.cs
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/csharp.direct.sender.cs?rev=1041141&r1=1041140&r2=1041141&view=diff
==============================================================================
---
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/csharp.direct.sender.cs
(original)
+++
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.direct.sender/csharp.direct.sender.cs
Wed Dec 1 19:54:13 2010
@@ -31,7 +31,7 @@ namespace csharp.direct.sender
// Send 10 messages from localhost:5672, amq.direct/key
// Messages are assumed to be printable strings.
//
- static void Main(string[] args)
+ static int Main(string[] args)
{
String host = "localhost:5672";
String addr = "amq.direct/key";
@@ -65,13 +65,16 @@ namespace csharp.direct.sender
Message message = new Message(String.Format("Test
Message {0}", i));
sender.Send(message);
}
+ session.Sync();
connection.Close();
+ return 0;
}
} catch (Exception e) {
Console.WriteLine("Exception {0}.", e);
if (null != connection)
connection.Close();
}
+ return 1;
}
}
}
Modified:
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.client/csharp.example.client.cs
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.client/csharp.example.client.cs?rev=1041141&r1=1041140&r2=1041141&view=diff
==============================================================================
---
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.client/csharp.example.client.cs
(original)
+++
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.client/csharp.example.client.cs
Wed Dec 1 19:54:13 2010
@@ -24,13 +24,16 @@ using Org.Apache.Qpid.Messaging;
namespace Org.Apache.Qpid.Messaging.Examples {
class Client {
- static void Main(string[] args) {
+ static int Main(string[] args) {
String url = "amqp:tcp:127.0.0.1:5672";
+ String connectionOptions = "";
if (args.Length > 0)
url = args[0];
+ if (args.Length > 1)
+ connectionOptions = args[1];
- Connection connection = new Connection(url);
+ Connection connection = new Connection(url, connectionOptions);
try
{
connection.Open();
@@ -59,12 +62,14 @@ namespace Org.Apache.Qpid.Messaging.Exam
Console.WriteLine("{0} -> {1}", request.GetContent(),
response.GetContent());
}
connection.Close();
+ return 0;
}
catch (Exception e)
{
Console.WriteLine("Exception {0}.", e);
connection.Close();
}
+ return 1;
}
}
}
Modified:
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/csharp.example.declare_queues.cs
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/csharp.example.declare_queues.cs?rev=1041141&r1=1041140&r2=1041141&view=diff
==============================================================================
---
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/csharp.example.declare_queues.cs
(original)
+++
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.declare_queues/csharp.example.declare_queues.cs
Wed Dec 1 19:54:13 2010
@@ -27,7 +27,7 @@ namespace Org.Apache.Qpid.Messaging.Exam
//
// Sample invocation: csharp.example.declare_queues.exe localhost:5672
my-queue
//
- static void Main(string[] args) {
+ static int Main(string[] args) {
string addr = "localhost:5672";
string queue = "my-queue";
@@ -46,6 +46,7 @@ namespace Org.Apache.Qpid.Messaging.Exam
Sender sender = session.CreateSender(queueName);
session.Close();
connection.Close();
+ return 0;
}
catch (Exception e)
{
@@ -53,6 +54,7 @@ namespace Org.Apache.Qpid.Messaging.Exam
if (null != connection)
connection.Close();
}
+ return 1;
}
}
}
Modified:
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/csharp.example.drain.cs
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/csharp.example.drain.cs?rev=1041141&r1=1041140&r2=1041141&view=diff
==============================================================================
---
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/csharp.example.drain.cs
(original)
+++
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.drain/csharp.example.drain.cs
Wed Dec 1 19:54:13 2010
@@ -30,7 +30,7 @@ namespace Org.Apache.Qpid.Messaging.Exam
//
// Sample invocation: csharp.example.drain.exe --broker localhost:5672
--timeout 30 my-queue
//
- static void Main(string[] args) {
+ static int Main(string[] args) {
Options options = new Options(args);
Connection connection = null;
@@ -74,6 +74,7 @@ namespace Org.Apache.Qpid.Messaging.Exam
receiver.Close();
session.Close();
connection.Close();
+ return 0;
}
catch (Exception e)
{
@@ -81,6 +82,7 @@ namespace Org.Apache.Qpid.Messaging.Exam
if (null != connection)
connection.Close();
}
+ return 1;
}
}
}
Modified:
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.server/csharp.example.server.cs
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.server/csharp.example.server.cs?rev=1041141&r1=1041140&r2=1041141&view=diff
==============================================================================
---
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.server/csharp.example.server.cs
(original)
+++
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.server/csharp.example.server.cs
Wed Dec 1 19:54:13 2010
@@ -24,14 +24,18 @@ using Org.Apache.Qpid.Messaging;
namespace Org.Apache.Qpid.Messaging.Examples {
class Server {
- static void Main(string[] args) {
- String url = "amqp:tcp:127.0.0.1:5672";
+ static int Main(string[] args) {
+ string url = "amqp:tcp:127.0.0.1:5672";
+ string connectionOptions = "";
if (args.Length > 0)
url = args[0];
+ // address args[1] is not used in this example
+ if (args.Length > 2)
+ connectionOptions = args[2];
try {
- Connection connection = new Connection(url);
+ Connection connection = new Connection(url, connectionOptions);
connection.Open();
Session session = connection.CreateSession();
Receiver receiver = session.CreateReceiver("service_queue;
{create: always}");
@@ -56,6 +60,7 @@ namespace Org.Apache.Qpid.Messaging.Exam
} catch (Exception e) {
Console.WriteLine("Exception {0}.", e);
}
+ return 1;
}
}
}
Modified:
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/csharp.example.spout.cs
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/csharp.example.spout.cs?rev=1041141&r1=1041140&r2=1041141&view=diff
==============================================================================
---
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/csharp.example.spout.cs
(original)
+++
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.example.spout/csharp.example.spout.cs
Wed Dec 1 19:54:13 2010
@@ -63,13 +63,13 @@ namespace Org.Apache.Qpid.Messaging.Exam
}
}
- static void Main(string[] args) {
+ static int Main(string[] args) {
Options options = new Options(args);
Connection connection = null;
try
{
- connection = new Connection(options.Url);
+ connection = new Connection(options.Url,
options.ConnectionOptions);
connection.Open();
Session session = connection.CreateSession();
Sender sender = session.CreateSender(options.Address);
@@ -107,11 +107,13 @@ namespace Org.Apache.Qpid.Messaging.Exam
}
session.Sync();
connection.Close();
+ return 0;
} catch (Exception e) {
Console.WriteLine("Exception {0}.", e);
if (null != connection)
connection.Close();
}
+ return 1;
}
}
}
Modified:
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.cs
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.cs?rev=1041141&r1=1041140&r2=1041141&view=diff
==============================================================================
---
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.cs
(original)
+++
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver/csharp.map.callback.receiver.cs
Wed Dec 1 19:54:13 2010
@@ -186,18 +186,19 @@ namespace Org.Apache.Qpid.Messaging.Exam
/// receive messages.
/// </summary>
/// <param name="args">Main program arguments</param>
- public void TestProgram(string[] args)
+ public int TestProgram(string[] args)
{
string url = "amqp:tcp:localhost:5672";
string addr = "amq.direct/map_example";
int nSec = 30;
+ string connectionOptions = "";
if (1 == args.Length)
{
if (args[0].Equals("-h") || args[0].Equals("-H") ||
args[0].Equals("/?"))
{
usage(url, addr, nSec);
- return;
+ return 1;
}
}
@@ -207,11 +208,13 @@ namespace Org.Apache.Qpid.Messaging.Exam
addr = args[1];
if (args.Length > 2)
nSec = System.Convert.ToInt32(args[2]);
+ if (args.Length > 3)
+ connectionOptions = args[3];
//
// Create and open an AMQP connection to the broker URL
//
- Connection connection = new Connection(url);
+ Connection connection = new Connection(url, connectionOptions);
connection.Open();
//
@@ -258,6 +261,7 @@ namespace Org.Apache.Qpid.Messaging.Exam
//
receiver.Close();
connection.Close();
+ return 0;
}
}
@@ -268,13 +272,14 @@ namespace Org.Apache.Qpid.Messaging.Exam
/// Main program
/// </summary>
/// <param name="args">Main prgram args</param>
- static void Main(string[] args)
+ static int Main(string[] args)
{
// Invoke 'TestProgram' as non-static class.
ReceiverProcess mainProc = new ReceiverProcess();
- mainProc.TestProgram(args);
+ int result = mainProc.TestProgram(args);
+ return result;
}
}
}
Modified:
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/csharp.map.callback.sender.cs
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/csharp.map.callback.sender.cs?rev=1041141&r1=1041140&r2=1041141&view=diff
==============================================================================
---
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/csharp.map.callback.sender.cs
(original)
+++
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.callback.sender/csharp.map.callback.sender.cs
Wed Dec 1 19:54:13 2010
@@ -31,7 +31,7 @@ namespace Org.Apache.Qpid.Messaging.Exam
//
// usage
//
- static void usage(string url, string addr, UInt32 count)
+ static void usage(string url, string addr, UInt32 count, string
connOpts)
{
Console.WriteLine("usage: {0} [url [addr [count]]]",
@@ -43,29 +43,31 @@ namespace Org.Apache.Qpid.Messaging.Exam
Console.WriteLine(" url = target address for 'new
Connection(url)'");
Console.WriteLine(" addr = address for
'session.CreateReceiver(addr)'");
Console.WriteLine(" count = number of messages to send");
+ Console.WriteLine(" connectionOptions = options list");
Console.WriteLine();
Console.WriteLine("Default values:");
- Console.WriteLine(" {0} {1} {2} {3}",
+ Console.WriteLine(" {0} {1} {2} {3} {4}",
System.Diagnostics.Process.GetCurrentProcess().ProcessName,
- url, addr, count);
+ url, addr, count, connOpts);
}
//
// TestProgram
//
- public void TestProgram(string[] args)
+ public int TestProgram(string[] args)
{
string url = "amqp:tcp:localhost:5672";
string addr = "amq.direct/map_example";
UInt32 count = 1;
+ string connectionOptions = "";
if (1 == args.Length)
{
if (args[0].Equals("-h") || args[0].Equals("-H") ||
args[0].Equals("/?"))
{
- usage(url, addr, count);
- return;
+ usage(url, addr, count, connectionOptions);
+ return 1;
}
}
@@ -75,12 +77,13 @@ namespace Org.Apache.Qpid.Messaging.Exam
addr = args[1];
if (args.Length > 2)
count = System.Convert.ToUInt32(args[2]);
-
+ if (args.Length > 3)
+ connectionOptions = args[3];
//
// Create and open an AMQP connection to the broker URL
//
- Connection connection = new Connection(url);
+ Connection connection = new Connection(url, connectionOptions);
connection.Open();
//
@@ -160,9 +163,16 @@ namespace Org.Apache.Qpid.Messaging.Exam
sender.Send(message, true);
//
+ // Wait until broker receives all messages.
+ //
+ session.Sync();
+
+ //
// Close the connection.
//
connection.Close();
+
+ return 0;
}
}
@@ -171,13 +181,14 @@ namespace Org.Apache.Qpid.Messaging.Exam
//
// Main
//
- static void Main(string[] args)
+ static int Main(string[] args)
{
// Invoke 'TestProgram' as non-static class.
MapSender mainProc = new MapSender();
- mainProc.TestProgram(args);
+ int result = mainProc.TestProgram(args);
+ return result;
}
}
}
Modified:
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/csharp.map.recevier.cs
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/csharp.map.recevier.cs?rev=1041141&r1=1041140&r2=1041141&view=diff
==============================================================================
---
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/csharp.map.recevier.cs
(original)
+++
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.receiver/csharp.map.recevier.cs
Wed Dec 1 19:54:13 2010
@@ -32,14 +32,18 @@ namespace Org.Apache.Qpid.Messaging.exam
// Send an amqp/map message to amqp:tcp:localhost:5672
amq.direct/map_example
// The map message
//
- static void Main(string[] args)
+ static int Main(string[] args)
{
string url = "amqp:tcp:localhost:5672";
string address = "message_queue; {create: always}";
+ string connectionOptions = "";
+
if (args.Length > 0)
url = args[0];
if (args.Length > 1)
address = args[1];
+ if (args.Length > 2)
+ connectionOptions = args[3];
//
// Create and open an AMQP connection to the broker URL
@@ -76,6 +80,7 @@ namespace Org.Apache.Qpid.Messaging.exam
//
receiver.Close();
connection.Close();
+ return 0;
}
}
}
Modified:
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/csharp.map.sender.cs
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/csharp.map.sender.cs?rev=1041141&r1=1041140&r2=1041141&view=diff
==============================================================================
---
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/csharp.map.sender.cs
(original)
+++
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/csharp.map.sender/csharp.map.sender.cs
Wed Dec 1 19:54:13 2010
@@ -34,19 +34,23 @@ namespace Org.Apache.Qpid.Messaging.exam
// The map message contains simple types, a nested amqp/map,
// an ampq/list, and specific instances of each supported type.
//
- static void Main(string[] args)
+ static int Main(string[] args)
{
string url = "amqp:tcp:localhost:5672";
string address = "message_queue; {create: always}";
+ string connectionOptions = "";
+
if (args.Length > 0)
url = args[0];
if (args.Length > 1)
address = args[1];
+ if (args.Length > 2)
+ connectionOptions = args[2];
//
// Create and open an AMQP connection to the broker URL
//
- Connection connection = new Connection(url);
+ Connection connection = new Connection(url, connectionOptions);
connection.Open();
//
@@ -128,9 +132,15 @@ namespace Org.Apache.Qpid.Messaging.exam
sender.Send(message, true);
//
+ // Wait until broker receives all messages.
+ //
+ session.Sync();
+
+ //
// Close the connection.
//
connection.Close();
+ return 0;
}
}
}
Modified:
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/visualbasic.example.client.vb
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/visualbasic.example.client.vb?rev=1041141&r1=1041140&r2=1041141&view=diff
==============================================================================
---
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/visualbasic.example.client.vb
(original)
+++
qpid/trunk/qpid/cpp/bindings/qpid/dotnet/examples/visualbasic.example.client/visualbasic.example.client.vb
Wed Dec 1 19:54:13 2010
@@ -24,14 +24,16 @@ Imports Org.Apache.Qpid.Messaging
Namespace Org.Apache.Qpid.Messaging.Examples
Module Module1
Class Client
- Public Shared Sub Main(ByVal args() As String)
+ Public Shared Function Main(ByVal args() As String) As Integer
Dim url As String = "amqp:tcp:127.0.0.1:5672"
+ Dim connectionOptions As String = ""
If args.Length > 0 Then url = args(0)
+ If args.Length > 1 Then connectionOptions = args(1)
Dim connection As Connection
Try
- connection = New Connection(url)
+ connection = New Connection(url, connectionOptions)
connection.Open()
Dim session As Session = connection.CreateSession()
@@ -58,12 +60,13 @@ Namespace Org.Apache.Qpid.Messaging.Exam
Console.WriteLine("{0} -> {1}", request.GetContent(),
response.GetContent())
Next i
connection.Close()
-
+ Main = 0
Catch e As Exception
Console.WriteLine("Exception {0}.", e)
connection.Close()
+ Main = 1
End Try
- End Sub
+ End Function
End Class
End Module
End Namespace
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]