Active MQ C#实现
Kagula
2011/9/24
最后更新日期:2015-10-08
内容概要
主要以源码的形式介绍如何用C#实现同Active MQ 的通讯。本文假设你已经正确安装JDK1.6.x,了解Active MQ并有一定的编程基础。
正文
JMS 程序的最终目的是生产和消费的消息能被其他程序使用,JMS 的 Message 是一个既简单又不乏灵活性的基本格式,允许创建不同平台上符合非JMS 程序格式的消息。
Message 由消息头,属性和消息体三部份组成。
Active MQ支持过滤机制,即生产者可以设置消息的属性(Properties),该属性与消费者端的Selector对应,只有消费者设置的selector与消息的Properties匹配,消息才会发给该消费者。Topic和Queue都支持Selector。
示例代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Apache.NMS;
using System.Diagnostics;
using Apache.NMS.Util;
using System.Windows.Threading;
/*
* 功能描述:C#使用ActiveMQ示例
* 修改次数:2
* 最后更新: by Kagula,2012-07-31
*
* 前提条件:
* [1]apache-activemq-5.4.2
* [2]Apache.NMS.ActiveMQ-1.5.6-bin
* [3]WinXP SP3
* [4]VS2008 SP1
* [5]WPF工程 With .NET Framework 3.5
*
* 启动
*
* 不带安全控制方式启动
* [你的解压路径]\apache-activemq-5.4.2\bin\activemq.bat
*
* 安全方式启动
* 添加环境变量: ACTIVEMQ_ENCRYPTION_PASSWORD=activemq
* [你的解压路径]\apache-activemq-5.4.2\bin>activemq xbean:file:../conf/activemq-security.xml
*
* Active MQ 管理地址
* http://127.0.0.1:8161/admin/
* 添加访问"http://127.0.0.1:8161/admin/"的限制
*
* 第一步:添加访问限制
* 修改D:\apache\apache-activemq-5.4.2\conf\jetty.xml文件
* 下面这行编码,原
* <property name="authenticate" value="true" />
* 修改为
* <property name="authenticate" value="false" />
*
* 第二步:修改登录用户名密码,缺省分别为admin,admin
* D:\apache\apache-activemq-5.4.2\conf\jetty-realm.properties
*
* 用户管理(前提:以安全方式启动ActiveMQ)
*
* 在[你的解压路径]\apache-activemq-5.4.2\conf\credentials.properties文件中修改默认的用户名密码
* 在[你的解压路径]\apache-activemq-5.4.2\conf\activemq-security.xml文件中