《消息队列实际应用》由会员分享,可在线阅读,更多相关《消息队列实际应用(14页珍藏版)》请在金锄头文库上搜索。
1、消息队列实际应用FAQ如何访问远程的私有队列?问题描述:按照专用队列解释: MachineNamePrivate$QueueName;只针对于本机的程序才可以调用的队列,有些情况下为了安全起见定义为私有队列。 所以刚开始的时候认为,要想访问远程消息队列,只能使用公共队列。但是后来发现,公共队列依赖Domain Controller(域控),但是在实际的部署的时候,一定要求使用消息队列的应用一定要在某个域中,有些太苛刻!后来发现,私有队列也是可以远程访问的。(很困惑为什么私有队列只能本地访问,这句话,到处都能看到?!)解决方法:Queue.Path采用:FormatName:DIRECT指定计算
2、机(建议使用IP形式,当然还支持其他协议,详见msdn相关章节),如:FormatName:DIRECT=TCP:192.168.1.157Private$MSMQDemo1FormatName:DIRECT=OS:machinenamePrivate$MSMQDemo1如何修改消息队列的最大存储限制?问题描述:消息队列中的消息,默认以文件形式存储在windowssystem32msmqstorage下,并且每个文件大小为4MB(所以在一般情况下,单条消息最大不能超过4MB,看到过其解决方法,没有亲自验证,有兴趣的朋友,可以自己查下相关信息)解决方法:属性去掉钩选:消息存储限额、日志存储限额。
3、确定。(此种设置,按照解释,只依赖存储的硬盘空间)如何修改消息队列的默认存储位置?问题描述:消息队列默认以文件形式存放于:windowsSystem32msmqstorage下。系统盘一般空间不是很大,而且在重做系统的时候,往往格盘。解决方法:1) 修改存储位置,尝试在MSMQ自动建立目标目录结构。如果MSMQ成功创建成功,那么忽略后续文件夹权限设置。2) 如果MSMQ无法自动创建对应目录结构,按照下述步骤手工配置对应权限。3) 以目标文件夹为:D:msmqstorage 说明文件夹权限配置。3-1) 建立文件夹:D:msmqstorage3-2) 去掉:D:msmq所有用户的所有权限高级更改
4、权限不钩选:“包括可从该对象的父项继承的权限”点删除,然后“确定”点:是。3-3)为Administrator设置“d:msmq”的权限。高级更改权限添加确定选择:此文件夹和文件;钩选:完全控制;依次确定。3-4)为MSMQ设置“d:msmq”的权限。运行命令: icacls d:msmq /grant NT SERVICEMSMQ:(F)参考上述,将msmq的权限由:“只有该文件夹” 改为:“此文件和文件”;3-5)重复上述步骤给Administrator和MSMQ设置“d:msmqstorage”的权限。3-6)检查如下结果:d:msmqstorage结果:d:msmq结果:3-7)修改消息队列存储位置确定确定是如何保证计算机重启之后队列中的消息还在?问题描述:消息队列中的消息,在计算机重新启动之后,消息被“清空”。解决方法:使用事务性队列。