Great work Chuck!! Looking forward to seeing this make its way to a 1.0 release.

On 08/21/2014 02:08 PM, Chuck Rolke wrote:
=======================================================================
  * Apache.NMS.AMQP : Apache NMS for AMQP Client Library
  * Initial Release Notes
=======================================================================

1.0 Welcome

Welcome to Apache NMS AMQP! This NMS Provider will connect to the AMQP
messaging protocol. NMS applications using this provider may communicate
with Amqp Brokers such as Apache ActiveMQ and Apache Qpid qpidd, and
messaging infrastructure such as Apache Qpid Dispatch Router.

2.0 Implementation Overview

The AMQP Provider leverages the interop binding "Apache Qpid
.NET Binding for C++ Messaging". The .NET Binding is an interop layer
that connects .NET programs to the Qpid native C++ protocol engine
libraries.

AMQP Provider source code is available at:

svn co 
https://svn.apache.org/repos/asf/activemq/activemq-dotnet/Apache.NMS.AMQP/trunk 
Apache.NMS.AMQP

Notes and development history are recorded in:

https://issues.apache.org/jira/browse/AMQNET-454

3.0 Getting Started

3.1 Installing Apache Qpid vendor files

In order to use the AMQP Provider your application must have the
Apache Qpid native and supporting libraries available on the path.
These files are installed automatically during the nant
installation of the Apache.Qpid vendor kit.

3.2 Selecting the correct Apache Qpid vendor files

The Apache Qpid vendor files are shipped in two versions:

  * .NET 2.0 x86 Compiled with Visual Studio 2008
  * .NET 4.0 x86 Compiled with Visual Studio 2010
Each of these kits is built for the 32-bit x86 platform using
Release configurations. A typical kit holds:

  * The Apache Qpid interop library
      org.apache.qpid.messaging.dll
  * Apache Qpid/Proton library files
      qpid-proton.dll
      qpidclient.dll
      qpidcommon.dll
      qpidmessaging.dll
      qpidtypes.dll
  * Boost library files
      boost_chrono-vc100-mt-1_47.dll
      boost_date_time-vc100-mt-1_47.dll
      boost_program_options-vc100-mt-1_47.dll
      boost_system-vc100-mt-1_47.dll
      boost_thread-vc100-mt-1_47.dll

3.3 Building your Application

A HelloWorld application is included in the Apache.NMS.AMQP
development tree to get users off to a quick start.

This project selects:
     Visual Studio  : 2010
        Configuration  : Debug
        .NET Framework : 4.0
        Platform       : AnyCPU

HelloWorld builds and runs on both 32-bit x86 and 64-bit x64 systems
as long as the base project is built for the x86 Platform.
The Apache Qpid subsystem will not load under .NET projects
that specify the x64 Platform.
        
4.0 Using the Apache.NMS.AMQP Provider

4.1 Creating AMQP Connections

Connections to AMQP brokers and endpoints are controlled by arguments
to the ConnectionFactory constructor. By default connections use
protocol "amqp1.0".

   Uri connecturi = new Uri("amqp:tcp:localhost:5672");
   string clientID = "abc";
   Hashtable options = new Hashtable();
   options["username"] = "guest";
   options["password"] = "secret";
IConnectionFactory factory = new
     NMSConnectionFactory(connecturi, clientID, options);

Notes:

* AMQP protocol version 0-10 is selected by 'options["protocol"] = "amqp0-10"'.
* In this release connection options are passed through an option table
and not through the connect URI/URL. More information about connection
options is available at:

http://qpid.apache.org/components/programming/book/connection-options.html

5.0 Next Steps

  * Include wiki pages describing the provider in 
http://activemq.apache.org/nms/

6.0 Future Considerations

  * 64-bit x64 Apache Qpid vendor kit
  * Support for more robust object message formats
  * Transactions and message durability
  * Unit test/system tests





--
Tim Bish
Sr Software Engineer | RedHat Inc.
tim.b...@redhat.com | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/

Reply via email to