分享

ibm mq 服务器与服务器通信

 孙中熙——路 2010-12-10
想要运行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("发送放行信息成功!");
   } 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());
 }
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多