欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MS MQ 使用实践【原创】

程序员文章站 2022-06-13 19:44:06
...
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 使用实践【原创】
            
    
    博客分类: 数据交换 MSMQ微软MQjava远程 

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 使用实践【原创】
            
    
    博客分类: 数据交换 MSMQ微软MQjava远程 

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 使用实践【原创】
            
    
    博客分类: 数据交换 MSMQ微软MQjava远程 
  • 大小: 25.8 KB
  • MS MQ 使用实践【原创】
            
    
    博客分类: 数据交换 MSMQ微软MQjava远程 
  • 大小: 25.8 KB