Java 獲取MQ 本地隊列的消息

最近工作中需要用的從MQ隊列中取消息的業務..找了一下MQ API寫了一個實例..

建立一個QueueManagerEntity實體:

如下:

Java代碼  

  1. private String queueManagerName; //隊列管理器名稱;  
  2. private int port;  //端口號  
  3. private String svrconn;  //連接通道  
  4. private String hostName; //主機地址  
  5. private String queueName; //隊列名稱;  
  6. / gettersetter方法省略…  

下列是通過Java程序獲取WebSphere MQ 本地隊列的消息代碼:

Java代碼

public static String getMessageFromQueue(MQQueueManager queueManager,MQQueueEntity entity)

{

logger.debug(“getMssageFromQueue begin:”+entity.getQueueName());

MQEnvironment.hostname = entity.getHostName();

MQEnvironment.port = entity.getProt();

MQEnvironment.channel = entity.getChannel();

MQEnvironment.CCSID = 1383;

int openOptions = MQC.MQOO_INPUT_AS_Q_DEF|MQC.MQOO_OUTPUT|MQC.MQOO_INQUIRE;

String msg=null;

try

{

MQQueue queue=queueManager.accessQueue(entity.getQueueName(), openOptions);

MQMessage message=new MQMessage();

 

MQGetMessageOptions pmo=new MQGetMessageOptions();

queue.get(message,pmo);

message.format=MQC.MQFMT_STRING;

message.characterSet=1381;

msg=message.readString(message.getMessageLength());

queue.close();

queueManager.disconnect();

}

catch (Exception e)

{

e.printStackTrace();

}

return msg;

}

 

 

 

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營