【问题标题】:How to run message to MQ server and get output message back如何向 MQ 服务器运行消息并返回输出消息
【发布时间】:2018-07-01 12:46:05
【问题描述】:

我想向 MQ 服务器发送一条消息并接收返回的输出消息。比如消息是“pwd”,我收到回的消息应该是目录路径如“/usr/home”。但是,我的 receiveMessage 返回与我发送的“pwd”完全相同的消息。有没有办法让我的 receiveMessage 返回目录补丁?

connectionFactory.setCCDTURL(ccdt.tab);
connectionFactory_.setQueueManager(QUEUE_MANAGER_NAME);
MQQueueConnection connection = (MQQueueConnection)connectionFactory.createQueueConnection();
connection.start();
MQQueue mqQueue= new MQQueue();
MQQueueSender sender =  (MQQueueSender) session.createSender(mqQueue);
JMSTextMessage message = (JMSTextMessage)session.createTextMessage("pwd");
message.setJMSCorrelationID(correlationId);
sender.send(message);
MQQueueSession session =(MQQueueSession) connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
String selector = "JMSCorrelationID = '" + correlationId + "'";
MQQueueReceiver receiver = (MQQueueReceiver) session.createReceiver(mqQueue, selector);
TextMessage receiveMessage = (TextMessage) receiver.receive(500);
receiver.close();
System.out.println("Received Message: " + receiveMessage );

谢谢

【问题讨论】:

  • MQ 不会为您运行 unix 命令。您需要一个应用程序来读取收到的消息,运行命令,然后将回复消息与响应一起发回。
  • 哦!我懂了!谢谢,我不知道。

标签: java jms message-queue ibm-mq


【解决方案1】:

您提供的示例只是将带有文本pwd 的消息放入队列,然后从队列中取回相同的消息。您看到的结果就是预期的结果。

如果您希望能够将消息发送到将执行该消息的内容并将该命令的输出返回给您的队列,您需要编写一个程序来执行该功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-19
    • 2019-04-24
    • 2014-04-27
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    相关资源
    最近更新 更多