目标
在业务处理上经常需要使用MQ作为消息流转和分发的渠道,但不同MQ产品其提供的操作方式都有着不同的差异性存在,这样会使开发人员使用起来就相对比较麻烦;MQ Client Agent的设计目的就是提供一个统一的MQ写入规则,让开发人忽略具本MQ操作的细节,即使在更换MQ产品的时候也可以在不修改现有逻辑代码的前提下轻易达到切换不同的MQ产品能力.
功能
- 提供消息统一写入规则功能库
- 支持可配置的MQ Connection Provider
- 支持可以的Message Handler
结构
功能类
使用
[TestMethod]
public void TestRegister()
{
Register register = new Register();
register.EMail = "henryfan@msn.com";
register.Name = Guid.NewGuid().ToString("N");
mClient.Enqueue(register);
}
[TestMethod]
public void TestContact()
{
Contact contact = new Contact();
contact.Country = "zh";
contact.Address = Guid.NewGuid().ToString("N");
contact.City = "gz";
contact.Region = "gd";
mClient.Enqueue(contact);
}
配置
<configSections>
<section name="routeSection" type="IKende.MSMQ.Client.RouteSection, IKende.MSMQ.Client"/>
</configSections>
<routeSection xmlns="urn:IKende.MSMQ.Client">
<route>
<queue type="IKende.MSMQ.Client.Test.Register,IKende.MSMQ.Client.Test">
<hosts>
<host name="N1" url="win-n8l2b1u5eqv\private$\Register"/>
</hosts>
</queue>
<queue type="IKende.MSMQ.Client.Test.Contact,IKende.MSMQ.Client.Test">
<hosts>
<host name="N1" url="win-n8l2b1u5eqv\private$\Contact"/>
</hosts>
</queue>
</route>
</routeSection>