Github user tabish121 commented on a diff in the pull request: https://github.com/apache/activemq-nms-amqp/pull/2#discussion_r207643922 --- Diff: src/example/csharp/HelloWorld/HelloWorld.cs --- @@ -0,0 +1,331 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +using System; +using System.Collections.Specialized; +using Apache.NMS; +using CommandLine; + +namespace HelloWorld +{ + class CommandLineOpts + { + // URI for message broker. Must be of the format amqp://<host>:<port> or amqps://<host>:<port> + [Option("uri", Required = true, HelpText = "The URI for the AMQP Message Broker")] + public string host { get; set; } + // Connection Request Timeout + [Option("ct", Default = 15000, HelpText = "the connection request timeout in milliseconds.")] + public long connTimeout { get; set; } + // UserName for authentication with the broker. + [Option("cu", Default = null, HelpText = "The Username for authentication with the message broker")] + public string username { get; set; } + // Password for authentication with the broker + [Option("cpwd", Default = null, HelpText = "The password for authentication with the message broker")] + public string password { get; set; } + [Option("cid", Default = null, HelpText = "The Client ID on the connection")] + public string clientId { get; set; } + // Logging Level + [Option("log", Default = "warn", HelpText = "Sets the log level for the application and NMS Library. The levels are (from highest verbosity): debug,info,warn,error,fatal.")] + public string logLevel { get; set; } + // + [Option("topic", Default = null, HelpText = "Topic to publish messages to. Can not be used with --queue.")] + public string topic { get; set; } + // + [Option("queue", Default = null, HelpText = "Queue to publish messages to. Can not be used with --topic.")] + public string queue { get; set; } + // + [Option('n', "messages", Default = 5, HelpText = "Number of messages to send.")] + public int NUM_MSG { get; set; } + // + [Option("deliveryMode", Default = 5, HelpText = "Message Delivery Mode, Persistnent(0) and Non Persistent(1). The default is Persistent(0).")] + public int mode { get; set; } + } + class Program + { + + private static void RunWithOptions (CommandLineOpts opts) + { + ITrace logger = new Logger(Logger.ToLogLevel(opts.logLevel)); + Tracer.Trace = logger; + + string ip = opts.host; + Uri providerUri = new Uri(ip); + Console.WriteLine("scheme: {0}", providerUri.Scheme); + + StringDictionary properties = new StringDictionary(); + //properties["clientId"] = "guest"; --- End diff -- Some of these commented out bits in the example make it a bit less useful as a clean sample, this client Id and the one below here seem confusing
---