最近重新捣鼓回 ZBUS5.0 与 微软MSMQ对接,碰到了些坑,希望能对新手有所帮助。
微软的MSMQ坑比较多,Win7下可能出现下面的bug
http://support.microsoft.com/kb/2554746
验证方法:
netstat -ano | findstr 1801
1801是MSMQ默认的侦听地址,如果没有侦听 0.0.0.0:1801 那么恭喜你中招了,先做上面的hotfix更新,不然会出现无法向本地私有Q发消息,Outgoing队列出现Wait to Connect
MSMQ的基本使用也可以参考下面Zbus-Msmq的对接代码,生产上磨了点时间,或许能对你有帮助。
http://git.oschina.net/rushmore/zbus/blob/master/proxy/zbus-msmq-%E5%BE%AE%E8%BD%AFMQ/zbus_msmq.cpp
ZBUS的Producer/Consumer模式与微软MSMQ对接
消息流描述:
1)从ZBUS到MSMQ
ZBUS消费者从ZBUS中消费消息,通过MsmqProducer投递到MSMQ
2)从MSMQ到ZBUS
MsmqConsumer从MSMQ中消费消息,通过ZbusProducer投递回ZBUS
每个消息流对应一个线程,zbus2msmq 与 msmq2zbus