2.3. Connecting with the .Net API
Overview
The Red Hat JBoss A-MQ NMS client is a .Net client that communicates with the JBoss A-MQ broker using its native Openwire protocol. This client supports advanced features such as failover, discovery, SSL, and message compression.
For complete details of using the .Net API see http://activemq.apache.org/nms/index.html.
Note
In order to use the NMS API, you can download the Red Hat JBoss A-MQ 6.2.0 .NET Client binaries from the Red Hat Customer Portal. Binaries for version 6.0 are not available, but the later versions of the .NET client binaries are compatible with 6.0 (the OpenWire endpoint will negotiate down to the correct protocol version for the 6.0 broker). Ideally, though, it is recommended that you upgrade your brokers to version 6.2.0 as well.
Resources
The API reference documentation for the A-MQ .Net API can be found at http://activemq.apache.org/nms/nms-api.html.
You can find examples of using the A-MQ .Net API at http://activemq.apache.org/nms/nms-examples.html.
Example
Example 2.7, “NMS Producer Connection” shows code for creating a message producer that sends messages to the queue
EXAMPLE.FOO
.
Example 2.7. NMS Producer Connection
using System; using Apache.NMS; using Apache.NMS.Util; ... // NOTE: ensure the nmsprovider-activemq.config file exists in the executable folder. IConnectionFactory factory = new ActiveMQ.ConnectionFactory("tcp://localhost:61616); // Create a Connection IConnection connection = factory.CreateConnection(); // Create a Session ISession session = connection.CreateSession(); // Create the destination IDestination destination = SessionUtil.GetDestination(session, "queue://EXAMPLE.FOO"); // Create a message producer from the Session to the Queue IMessageProducer producer = session.CreateProducer(destination); // Start the connection connection.Start(); ...