白玉成的专栏

Eclipse,让我欢喜让我忧!

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  17 随笔 :: 0 文章 :: 6 评论 :: 0 Trackbacks
发送器
import com.ibm.mq.*
public class Typesetter {
public static void main(String args[]) {
try
{
String hostName 
= "ITSOG" ;
String channel 
= "JAVA.CLIENT.CHNL" ;
String qManager 
= "ITSOG.QMGR1" ;
String qName 
= "SAMPLE.QUEUE" ;

/*设置MQEnvironment 属性以便客户机连接*/
MQEnvironment.hostname 
= hostName ;
MQEnvironment.channel 
= channel ;
MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,
MQC.TRANSPORT_WEBSPHERE MQ);
/*连接到队列管理器*/
MQQueueManager qMgr 
= new MQQueueManager(qManager) ;

/*设置打开选项以便打开用于输出的队列,如果队列管理器正在停止,我们也已设置了选项去应对不成功情况。*/
int openOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING ;

/*打开队列*/
MQQueue queue 
= qMgr.accessQueue(qName,
openOptions,
null,
null,
null);

/*设置放置消息选项我们将使用默认设置*/
MQPutMessageOptions pmo 
= new MQPutMessageOptions();

/*创建消息,MQMessage 类包含实际消息数据的数据缓冲区,和描述消息的所有MQMD 参数*/

/*创建消息缓冲区*/
MQMessage outMsg 
= new MQMessage(); 

/*设置MQMD 格式字段*/
outMsg.format 
= MQC.MQFMT_STRING ; 

/*准备用户数据消息*/
String msgString 
= "Test Message from PtpSender program "
outMsg.writeString(msgString);

/*在队列上放置消息*/
queue.put(outMsg, pmo);

/*提交事务处理*/
qMgr.commit();

System.out.println(
" The message has been Successfully put!\n");

/*关闭队列和队列管理器对象*/
queue.close();
qMgr.disconnect();
}

catch (MQException ex)
{
System.out.println(
"An MQ Error Occurred: Completion Code is :\t" +
ex.completionCode 
+ "\n\n The Reason Code is :\t" + ex.reasonCode );
ex.printStackTrace();
}

catch(Exception e) {
e.printStackTrace();
}
 
}

}


接收器:
import com.ibm.mq.* ;
public class PtpReceiver {
public static void main(String args[]) {
try
{
String hostName 
= "ITSOG" ;
String channel 
= "JAVA.CLIENT.CHNL" ;
String qManager 
= "ITSOG.QMGR1" ;
String qName 
= "SAMPLE.QUEUE" ;

/设置 MQEnvironment 属性以便客户机连接*/
MQEnvironment.hostname 
= hostName ;
MQEnvironment.channel 
= channel ;

MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,
MQC.TRANSPORT_WEBSPHERE MQ);

/*连接到队列管理器*/
MQQueueManager qMgr 
= new MQQueueManager(qManager) ;

/*设置打开选项以便打开用于输出的队列,如果队列管理器停止,我们也
已设置了选项去应对不成功情况
*/

int openOptions = MQC.MQOO_INPUT_SHARED |
   MQC.MQOO_FAIL_IF_QUIESCING ;

/*打开队列*/
MQQueue queue 
= qMgr.accessQueue(qName,
openOptions,
null,
null,
null);

/*设置放置消息选项*/
MQGetMessageOptions gmo 
= new MQGetMessageOptions();

/*在同步点控制下获取消息*/
gmo.options 
= gmo.options + MQC.MQGMO_SYNCPOINT ; 

/*如果在队列上没有消息则等待*/
gmo.options 
= gmo.options + MQC.MQGMO_WAIT ; 

/*如果队列管理器停顿则失败*/
gmo.options 
= gmo.options + MQC.MQGMO_FAIL_IF_QUIESCING ; 

/*设置等待的时间限制*/
gmo.waitInterval 
= 3000 ; 

/*创建MQMessage 类*/
MQMessage inMsg 
= new MQMessage(); 

/*从队列到消息缓冲区获取消息*/
queue.get(inMsg, gmo) ;

/*从消息读取用户数据*/
String msgString 
= inMsg.readString(inMsg.getMessageLength());
System.out.println(
" The Message from the Queue is : " + msgString);

/*提交事务*/
qMgr.commit();

/*关闭队列和队列管理器对象*/
queue.close();
qMgr.disconnect();
}

catch (MQException ex)
{
System.out.println(
"An MQ Error Occurred: Completion Code is :\t" +
ex.completionCode 
+ "\n\n The Reason Code is :\t" + ex.reasonCode );
ex.printStackTrace();
}

catch(Exception e) {
e.printStackTrace();
}

}

}

posted on 2008-11-27 23:33 白玉成 阅读(2491) 评论(0)  编辑  收藏 所属分类: Websphere

只有注册用户登录后才能发表评论。


网站导航: