MS MQ 使用实践【原创】

阅读更多
1. 参照百度经验 http://jingyan.baidu.com/article/546ae1856fecf91149f28c00.html,安装MSMQ

2. 访问 http://msmqjava.codeplex.com/releases/view/42708, 下载MSMQ javaAPI包。

3. 发送消息代码
  
      Queue queue=new Queue("DIRECT=OS:zhenggm-pc\\private$\\test");
      try {
			    Message msg= new Message("body", "lable", "");
			    queue.send(msg, TransactionType.SINGLE_MESSAGE);
			 }
			 catch (Exception ex1) {
			     System.out.println("Put failure: " + ex1.toString());
			 }
   

   queueName与创建的名称一致,send方法的事务性与创建的队列是否事务对应。
   MS MQ 使用实践【原创】_第1张图片

4. 接收消息代码
      Queue queue=new Queue("DIRECT=OS:zhenggm-pc\\private$\\test");
      try {
			    Message msg= queue.receive(timeOut);			    System.out.println(msg.getLabel());
                               System.out.println(msg.getBodyAsString());
			 }
			 catch (Exception ex1) {
			     System.out.println("Get failure: " + ex1.toString());
			 }
   


5. 访问远程MQ
   如果访问本地MQ收发,那么上面步骤就可以了。如果要发远程MQ,需要做些配置。远程MQ配置如下图。
   MS MQ 使用实践【原创】_第2张图片

6. MsmqJava jar包中少个内部类(Access),需要自己打包一下
7. 发送代码类似,只是OPEN MQ的时候,需要设置一下打开权限(发送)。
  
Queue queue=new Queue("DIRECT=OS:hong-pc\\private$\\test",Queue.Access.SEND);

   本地会在传出队列中自动建议一个缓冲队列。

几个问题:
1. 需要将下载的dll,lib,jar 文件放入 java.library.path .
   可以使用以下语句查看路径。
   
System.out.println(System.getProperty("java.library.path"));
  
2. 无论是否访问远程,本地需要安装MQ
3. 下载的文件是32位编译的,需要jdk 32位才能运行成功。
  • MS MQ 使用实践【原创】_第3张图片
  • 大小: 25.8 KB
  • MS MQ 使用实践【原创】_第4张图片
  • 大小: 25.8 KB
  • 查看图片附件

你可能感兴趣的:(MSMQ,微软MQ,java,远程)