WEB开发网
开发学院软件开发Java 使用 Java API 处理 WebSphere MQ 大消息 阅读

使用 Java API 处理 WebSphere MQ 大消息

 2009-12-31 00:00:00 来源:WEB开发网   
核心提示: 实际在使用 Java API 编程时,对于发送方,使用 Java API 处理 WebSphere MQ 大消息(2),发送消息时需要设置消息的 messageFlags 如下:Msg.messageFlags = MQC.MQMF_SEGMENTATION_ALLOWED;对于接收方,接收消息

实际在使用 Java API 编程时,对于发送方,发送消息时需要设置消息的 messageFlags 如下:

Msg.messageFlags = MQC.MQMF_SEGMENTATION_ALLOWED;

对于接收方,接收消息时需要设置 MQGetMessageOptions:

MQGetMessageOptions gmo = new MQGetMessageOptions ();

gmo.options = MQC.MQGMO_COMPLETE_MSG;

队列管理器自动实现消息分片的部分代码如清单 1,您可以下载详细的示例程序代码。


清单 1 队列管理器自动实现消息分片
QMgrSegSender.java: 
  int openOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING; 
  myQMgr = new MQQueueManager ("QM1"); 
  myQueue = myQMgr.accessQueue("TESTQ", openOptions); 
  MQMessage myMsg = new MQMessage (); 
  myMsg.messageFlags = MQC.MQMF_SEGMENTATION_ALLOWED; 
  MQPutMessageOptions pmo = new MQPutMessageOptions (); 
  String strMsg = ""; 
  for (int i=0;i<=100;i++) 
    strMsg = strMsg + "Hello"; 
  myMsg.write(strMsg.getBytes()); 
  myQueue.put(myMsg,pmo); 
  System.out.println("Put message:\n" + strMsg); 
  myQueue.close(); 
  myQMgr.disconnect(); 
QMgrSegReceiver.java: 
  int openOptions = MQC.MQOO_INPUT_SHARED | MQC.MQOO_FAIL_IF_QUIESCING; 
  myQMgr = new MQQueueManager ("QM1"); 
  myQueue = myQMgr.accessQueue("TESTQ", openOptions); 
  MQMessage myMsg = new MQMessage (); 
  MQGetMessageOptions gmo = new MQGetMessageOptions (); 
  gmo.options = MQC.MQGMO_COMPLETE_MSG; 
  myQueue.get(myMsg, gmo); 
  byte[] b = new byte[myMsg.getMessageLength()]; 
  myMsg.readFully(b); 
  String strMsg = new String(b); 
  System.out.println("Got message:\n" + strMsg); 
  myQueue.close(); 
  myQMgr.disconnect();

上一页  1 2 3 4 5 6  下一页

Tags:使用 Java API

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接