【问题标题】:How to connect to MQ using Java如何使用 Java 连接到 MQ
【发布时间】:2014-09-04 15:57:53
【问题描述】:

我想使用 JAVA 建立连接并发送一个字符串到MQ

以下是 MQ 详细信息。

  • JNDI 名称: ABCDEFH
  • 队列管理器: ABCDEFH
  • 主机名或 IP 地址: ABCDEFH
  • 端口: ABCDEFH
  • 频道: ABCDEFH
  • 传输类型: ABCDEFH

我是新手,所以请您帮我提供示例代码。谢谢!

【问题讨论】:

  • 到目前为止您尝试过什么?请阅读How do I ask a good question?
  • 您使用的是哪种 MQ?你有 API jar 吗?
  • 欢迎来到 StackOverflow。我建议您查看此链接,了解如何发布好问题:stackoverflow.com/help/how-to-ask。不幸的是,您的帖子(在当前状态下)不是问题,您只是在询问代码。因此,您可能会收到反对票,并且没有人愿意为您编写代码。但是,如果您在尝试某事后遇到特定问题,很多人都非常愿意帮助您。
  • @lllogiq Websphere MQ
  • @lllogiq 我使用了以下代码java-brew.blogspot.in/2011/01/java-code-to-connect-to-mq.html & 当我运行时我得到了这个错误套接字连接尝试被拒绝。同样在代码中,我不知道在以下字段中放入什么String qMngrStr = "";字符串用户 = "";字符串密码 = "";字符串队列名 = "";你能指导我完成这个吗????

标签: java ibm-mq


【解决方案1】:

您可以使用两种不同的 API 来使用 Java 语言发送 MQ 消息。您可以使用MQ Classes for Java,也可以使用JMS API

既然你提到了 JNDI,我怀疑你的意思是 JMS API。但是,我会回答两者。你听起来像你想要一些示例代码。 IBM MQ 产品为您提供了示例代码供您查看。

对于 Java 的 MQ 类,我建议您查看 <wmq-installation-directory>\Tools\wmqjava\samples\MQSample.java - 这是 Java 类的“Hello World”应用程序。

JMS接口,建议你看<wmq-installation-directory>\Tools\jms\samples\JmsProducer.java

【讨论】:

    【解决方案2】:

    您可以使用以下代码进行一些更改:

    1.相应更改主机、端口、通道、qName和qManager名称。

    2.对于 OpenOption 使用 MQC.MQOO_OUTPUT。

    希望这会有所帮助。

    //method to connect and send message to Mq   
    public void mqSend(){
      try{
    
         //Create a Hashtable with required properties
         Hashtable properties = new Hashtable<String, Object>();
         properties.put("hostname", host);
         properties.put("port", port);
         properties.put("channel", channel); 
    
         //Create a instance of qManager
         MQQueueManager qMgr = new MQQueueManager(qManagerName, properties);
    
         //Connect to the Queue
         MQQueue queue = qMgr.accessQueue(qname, openOptions);
    
         //Creating the mqmessage
         MQMessage mqMsg = new MQMessage();
         mqMsg.writeString(//My Message); 
    
         MQPutMessageOptions pmo = new MQPutMessageOptions();
    
         queue.put(mqMsg,pmo);
    
         queue.close();
         qMgr.disconnect();
      }catch(MqException mqEx){
         mqEx.printStackTrace();
      }
    }
    

    注意:请忽略错别字和格式,因为我是用手机输入的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      • 1970-01-01
      • 2011-02-11
      • 2012-08-19
      • 1970-01-01
      • 1970-01-01
      • 2017-06-05
      相关资源
      最近更新 更多