Put messages in IBM MQ using Java
Directory structure:
Input text file for your message
message.txt
msg=Message created by SimpleJMSProducer
SimpleJMSProducer
package com.mq;
import com.ibm.mq.MQException;
import com.ibm.mq.constants.CMQC;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
/**
* This class is an example of JMS Client. Using sendMsg() method you can send a
* message to the IBM MQ
*
* To run this example you need com.ibm.mq.jar and com.ibm.mq.jmqi.jar
*
*
*/
public class SimpleJMSProducer {
public void sendMsg(String msg) {
MQQueueManager queueManager = null;
MQMessage mqMessage = null;
MQPutMessageOptions myPMO = null;
try {
// creating queue manager
queueManager = new MQQueueManager("QMGR1");
// creating queue`
MQQueue queue = queueManager.accessQueue("MQ.REQUEST", CMQC.MQOO_OUTPUT);
// configuring message encoding, character set, and format
mqMessage = new MQMessage();
mqMessage.encoding = new Integer("546");
mqMessage.characterSet = new Integer("1208");
mqMessage.format = "MQSTR";
// sending message
mqMessage.writeString(msg);
myPMO = new MQPutMessageOptions();
queue.put(mqMessage, myPMO);
// Closing Queue after putting message
queue.close();
} catch (MQException | NumberFormatException | IOException je) {
je.printStackTrace(System.err);
} finally {
if (queueManager != null)
try {
// Disconnecting queue manager
queueManager.disconnect();
} catch (MQException ex) {
ex.printStackTrace(System.err);
}
}
}
public static void main(String[] args) throws FileNotFoundException, IOException {
Properties prop = new Properties();
prop.load(new FileInputStream("C:/Learning/MQQUEQE/src/com/message/message.txt"));
String message = prop.getProperty("msg");
new SimpleJMSProducer().sendMsg(message);
System.out.println(message);
}
}
import com.ibm.mq.MQException;
import com.ibm.mq.constants.CMQC;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
/**
* This class is an example of JMS Client. Using sendMsg() method you can send a
* message to the IBM MQ
*
* To run this example you need com.ibm.mq.jar and com.ibm.mq.jmqi.jar
*
*
*/
public class SimpleJMSProducer {
public void sendMsg(String msg) {
MQQueueManager queueManager = null;
MQMessage mqMessage = null;
MQPutMessageOptions myPMO = null;
try {
// creating queue manager
queueManager = new MQQueueManager("QMGR1");
// creating queue`
MQQueue queue = queueManager.accessQueue("MQ.REQUEST", CMQC.MQOO_OUTPUT);
// configuring message encoding, character set, and format
mqMessage = new MQMessage();
mqMessage.encoding = new Integer("546");
mqMessage.characterSet = new Integer("1208");
mqMessage.format = "MQSTR";
// sending message
mqMessage.writeString(msg);
myPMO = new MQPutMessageOptions();
queue.put(mqMessage, myPMO);
// Closing Queue after putting message
queue.close();
} catch (MQException | NumberFormatException | IOException je) {
je.printStackTrace(System.err);
} finally {
if (queueManager != null)
try {
// Disconnecting queue manager
queueManager.disconnect();
} catch (MQException ex) {
ex.printStackTrace(System.err);
}
}
}
public static void main(String[] args) throws FileNotFoundException, IOException {
Properties prop = new Properties();
prop.load(new FileInputStream("C:/Learning/MQQUEQE/src/com/message/message.txt"));
String message = prop.getProperty("msg");
new SimpleJMSProducer().sendMsg(message);
System.out.println(message);
}
}
You will find message sent by above program in MQ by browsing queque( MQ.REQUEST )
SimpleJMSProducer
package com.mq;
import com.ibm.mq.MQException;
import com.ibm.mq.constants.CMQC;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
/**
* This class is an example of JMS Client. Using sendMsg() method you can send a
* message to the IBM MQ
*
* To run this example you need com.ibm.mq.jar and com.ibm.mq.jmqi.jar
*
*
*/
public class SimpleJMSProducer {
public void sendMsg(String msg) {
MQQueueManager queueManager = null;
MQMessage mqMessage = null;
MQPutMessageOptions myPMO = null;
try {
// creating queue manager
queueManager = new MQQueueManager("QMGR1");
// creating queue`
MQQueue queue = queueManager.accessQueue("MQ.REQUEST", CMQC.MQOO_OUTPUT);
// configuring message encoding, character set, and format
mqMessage = new MQMessage();
mqMessage.encoding = new Integer("546");
mqMessage.characterSet = new Integer("1208");
mqMessage.format = "MQSTR";
// sending message
mqMessage.writeString(msg);
myPMO = new MQPutMessageOptions();
queue.put(mqMessage, myPMO);
// Closing Queue after putting message
queue.close();
} catch (MQException | NumberFormatException | IOException je) {
je.printStackTrace(System.err);
} finally {
if (queueManager != null)
try {
// Disconnecting queue manager
queueManager.disconnect();
} catch (MQException ex) {
ex.printStackTrace(System.err);
}
}
}
public static void main(String[] args) throws FileNotFoundException, IOException {
Properties prop = new Properties();
prop.load(new FileInputStream("C:/Learning/MQQUEQE/src/com/message/message.txt"));
String message = prop.getProperty("msg");
new SimpleJMSProducer().sendMsg(message);
System.out.println(message);
}
}
import com.ibm.mq.MQException;
import com.ibm.mq.constants.CMQC;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
/**
* This class is an example of JMS Client. Using sendMsg() method you can send a
* message to the IBM MQ
*
* To run this example you need com.ibm.mq.jar and com.ibm.mq.jmqi.jar
*
*
*/
public class SimpleJMSProducer {
public void sendMsg(String msg) {
MQQueueManager queueManager = null;
MQMessage mqMessage = null;
MQPutMessageOptions myPMO = null;
try {
// creating queue manager
queueManager = new MQQueueManager("QMGR1");
// creating queue`
MQQueue queue = queueManager.accessQueue("MQ.REQUEST", CMQC.MQOO_OUTPUT);
// configuring message encoding, character set, and format
mqMessage = new MQMessage();
mqMessage.encoding = new Integer("546");
mqMessage.characterSet = new Integer("1208");
mqMessage.format = "MQSTR";
// sending message
mqMessage.writeString(msg);
myPMO = new MQPutMessageOptions();
queue.put(mqMessage, myPMO);
// Closing Queue after putting message
queue.close();
} catch (MQException | NumberFormatException | IOException je) {
je.printStackTrace(System.err);
} finally {
if (queueManager != null)
try {
// Disconnecting queue manager
queueManager.disconnect();
} catch (MQException ex) {
ex.printStackTrace(System.err);
}
}
public static void main(String[] args) throws FileNotFoundException, IOException {
Properties prop = new Properties();
prop.load(new FileInputStream("C:/Learning/MQQUEQE/src/com/message/message.txt"));
String message = prop.getProperty("msg");
new SimpleJMSProducer().sendMsg(message);
System.out.println(message);
}
}
Once message consumes,current queue depth becomes 0.



0 comments:
Post a Comment