想要運行MQ,其中最重要的兩個包為:com.ibm.mq.jar connector.jar,
如果缺少connector.jar 一般會報這種錯誤:java.lang.NoClassDefFoundError: javax/resource/ResourceException
package com.mq.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.GregorianCalendar;
import org.apache.log4j.Logger;
import com.ibm.mq.MQC;
import com.ibm.mq.MQEnvironment;
import com.ibm.mq.MQException;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
import com.mq.Config;
public class TestMain {
private static final Logger log = Logger.getLogger(TestMain.class);
/**
* @param args
* @throws IOException
*/
@SuppressWarnings("unchecked")
public static void main(String[] args) throws IOException {
Config.MQ_CLIENT = true;
try {
Config.load();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
File file = new File("D:\\test\\Goods.xml");
InputStream in = null;
in = new FileInputStream(file);
byte[] cache = new byte[(int) file.length()];
for (int readed = in.read(cache); readed < cache.length; readed += in
.read(cache, readed, cache.length - readed))
;
if (in != null) {
try {
in.close();
} catch (Throwable th) {
}
}
MQQueue mqQueue = null;
MQQueueManager qMgr = null;
String qManager = "", qName = "";
qManager = Config.MQ_QUEUE_MANAGER;
qName = Config.MQ_QUEUE_IN;
// qName="REMOTE_CARGO_QUEUE";
MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,
MQC.TRANSPORT_MQSERIES);
MQEnvironment.CCSID = Config.MQ_CCSID;
MQEnvironment.hostname = Config.MQ_HOST;
MQEnvironment.channel = Config.MQ_CHANNEL;
MQEnvironment.port = Config.MQ_PORT;
MQEnvironment.disableTracing();
MQException.log = null;
// 連接到隊列管理器
try {
qMgr = new MQQueueManager(qManager);
} catch (MQException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
log.warn("成功連接" + qName);
int openOptions = MQC.MQOO_OUTPUT
| MQC.MQOO_INQUIRE | MQC.MQPMO_SET_ALL_CONTEXT;
// int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT
// | MQC.MQOO_INQUIRE | MQC.MQPMO_SET_ALL_CONTEXT;
try {
mqQueue = qMgr.accessQueue(qName, openOptions);
} catch (MQException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
MQPutMessageOptions mpmo = new MQPutMessageOptions();
MQMessage mqMessage = new MQMessage();
// in=new FileInputStream(f);
// byte[] cache=new byte[(int)f.length()];
// for(int
// readed=in.read(cache);readed<cache.length;readed+=in.read(cache,readed,cache.length-readed));
try {
String str = new String(cache, "utf-8");
log.warn(str);
// mqMessage.writeString("我是一個好人");
// DataParser d=new DataParser();
// d.saveMsgToDatabase(str);
mqMessage.write(str.getBytes());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mqMessage.putApplicationName = "frontiersystem";
mqMessage.putDateTime = new GregorianCalendar();
mpmo.options = MQC.MQPMO_SET_ALL_CONTEXT;
long a = (new Date()).getTime();
for (int i = 0; i < 1; i++) {
try {
mqQueue.put(mqMessage, mpmo);
log.warn("發(fā)送放行信息成功!");
} catch (MQException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
long b = (new Date()).getTime();
log.warn(b-a);
try {
mqQueue.close();
qMgr.close();
} catch (MQException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// MQReceiver receiver = new MQReceiver();
// receiver.start();
// MQSender sender = new MQSender();
// sender.start();
// sender.add("111111");
// DataParser parser = new DataParser(strbuf.toString());
// parser.start();
// PickupParser pick = new PickupParser();
// pick.setMessage(strbuf.toString());
// pick.parserMsg();
// ACK_URCCargoForEP aaa = new ACK_URCCargoForEP();
// aaa.setMessageId("0");
// aaa.setMessageType("ACK");
// aaa.setSenderId("EP");
// aaa.setReceiverId("UrcCargo");
// aaa.setSendTime(new Timestamp(new Date().getTime()));
// aaa.setVersion("01");
// aaa.setSourceHeadMsg("sdffsdfs");
// log.warn(aaa.toXML());
}
}