Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以使用Java JMS通过Websphere MQ队列发送批处理消息吗?_Java_Batch File_Jms_Ibm Mq - Fatal编程技术网

我可以使用Java JMS通过Websphere MQ队列发送批处理消息吗?

我可以使用Java JMS通过Websphere MQ队列发送批处理消息吗?,java,batch-file,jms,ibm-mq,Java,Batch File,Jms,Ibm Mq,我在一个项目中工作,该项目需要通过异步WebSphereMQ消息向另一个应用程序发送多条消息。实际上,我正在为我发送的每一条消息打开和关闭会话。我感谢你的回答。顺便说一句,这是我在这里的第一篇帖子。我觉得这样的东西应该可以: Session session = connection.createSession(false, SESSION.AUTO_ACKNOWLEDGE); // Create first message Message msgOne = session.createTextM

我在一个项目中工作,该项目需要通过异步WebSphereMQ消息向另一个应用程序发送多条消息。实际上,我正在为我发送的每一条消息打开和关闭会话。我感谢你的回答。顺便说一句,这是我在这里的第一篇帖子。

我觉得这样的东西应该可以:

Session session = connection.createSession(false, SESSION.AUTO_ACKNOWLEDGE);
// Create first message
Message msgOne = session.createTextMessage("Message One");
// Set reply-to queue to REPLY1QUEUE
msgOne.setJMSReplyTo(session.createQueue("REPLY1QUEUE"));
// Create another message.
Message msgTwo = session.createTextMessage("Message Two");
msgTwo.setJMSReplyTo(session.createQueue("REPLY2QUEUE"));

// Initialize destination queue and message producer.
MessageProducer producer = session.createProducer(session.createQueue("DESTQUEUE"));

// Connect, send and close.
connection.start();
producer.send(msgOne);
producer.send(msgTwo);
connection.close();

// Close the session.
session.close();

如果我没有弄错的话,对队列的回复是可选的。

在您的问题标题中,您提到了batched这个词,这让我觉得您可能希望在一个事务中发送所有分组消息,以便组中的所有消息都被传递,或者根本没有。原子发射。如果这是一篇重要的文章,我会稍微修改Friek简洁明了的代码,如下所示:

Session session = connection.createSession(true, SESSION_TRANSACTED);
....
producer.send(msgOne);
producer.send(msgTwo);
session.commit();
....

打开/关闭每条消息的会话会产生不必要的开销;您可以根据下面的评论以批处理方式发送一组消息。