pcfmessage 如何怎么算启动双通道内存ibmmq通道

豆丁微信公众号
君,已阅读到文档的结尾了呢~~
IBMMQ培训教材(精品)
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
IBMMQ培训教材(精品)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)关注51Testing
IBM WebSphere MQ的C#工具类以及源码
发表于: 10:49 &作者:逐、风 & 来源:51Testing软件测试网采编
推荐标签:
  简单的介绍一下MQ常用的对象  Queue的分类:  MQ工具类:using .WMQ;using IBM.WMQ.PCF;using Susing System.Collections.Gusing System.Lusing System.W//using IBM.WMQAX;/// &summary&/// MQHelp 类库/// & henrylee/// &/summary&public class MQHelp{public MQHelp(){}/// &summary&/// 创建本地队列/// &/summary&/// &param name="qmName"&队列管理器&/param&/// &param name="queueName"&队列名称&/param&/// &param name="isTransmissionQueue"&是否为传输队列&/param&public void CreateQueue(string qmName, string queueName, bool isTransmissionQueue = false){PCFMessageAgent agent = new PCFMessageAgent(qmName);PCFMessage request = new PCFMessage(CMQCFC.MQCMD_CREATE_Q);request.AddParameter(MQC.MQCA_Q_NAME, queueName);request.AddParameter(MQC.MQIA_Q_TYPE, MQC.MQQT_LOCAL);if (isTransmissionQueue) request.AddParameter(MQC.MQIA_USAGE, MQC.MQUS_TRANSMISSION);PCFMessage[] response = agent.Send(request);}/// &summary&/// 删除队列/// &/summary&public void DelQueue(string qmName, string queueName){PCFMessageAgent agent = new PCFMessageAgent(qmName);PCFMessage request = new PCFMessage(CMQCFC.MQCMD_DELETE_Q);request.AddParameter(MQC.MQCA_Q_NAME, queueName);PCFMessage[] response = agent.Send(request);}/// &summary&/// 读取消息/// &/summary&/// &returns&&/returns&public string ReadMessage(string qmName, string queueName){MQQueueManager qMgr = new MQQueueManager(qmName);MQQueue queue = qMgr.AccessQueue(queueName, MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_FAIL_IF_QUIESCING);MQGetMessageOptions gmo = new MQGetMessageOptions();gmo.Options = MQC.MQGMO_WAIT;gmo.WaitInterval = 1000;gmo.MatchOptions = MQC.MQMO_NONE;MQMessage message = new MQMessage();queue.Get(message);return message.ReadString(message.MessageLength);}/// &summary&/// 写入消息/// &/summary&public void WriteMessage(string qmName, string queueName, string body){MQQueueManager qMgr = new MQQueueManager(qmName);MQQueue queue = qMgr.AccessQueue(queueName, MQC.MQOO_OUTPUT);MQMessage message = new MQMessage();message.WriteString(body);message.Format = MQC.MQFMT_STRING;queue.Put(message);}/// &summary&/// 获取当前管理器所有队列/// &/summary&/// &param name="qmName"&队列管理器&/param&/// &param name="isFindSystemQueue"&是否包含系统队列&/param&/// &returns&&/returns&public List&string& GetALLQueue(string qmName, bool isFindSystemQueue = false){PCFMessageAgent agent = new PCFMessageAgent(qmName);PCFMessage request = new PCFMessage(CMQCFC.MQCMD_INQUIRE_Q_NAMES);request.AddParameter(MQC.MQCA_Q_NAME, "*");PCFMessage[] response = agent.Send(request);string[] names = response[0].GetStringListParameterValue(CMQCFC.MQCACF_Q_NAMES);List&string& result =if (!isFindSystemQueue)result = names.ToList().Where(s =& !s.Contains("AMQ.") && !s.Contains("SYSTEM.")).ToList();elseresult = names.ToList();}/// &summary&/// 创建远程队列/// &/summary&/// &param name="qmName"&队列管理器&/param&/// &param name="queueName"&队列名称&/param&/// &param name="ycqmName"&远程队列管理器名称&/param&/// &param name="ycqueueName"&远程队列名称&/param&/// &param name="csqueueName"&传输队列名称&/param&public void CreateRemoteQueue(string qmName, string queueName, string ycqmName, string ycqueueName, string csqueueName){PCFMessageAgent agent = new PCFMessageAgent(qmName);PCFMessage request = new PCFMessage(CMQCFC.MQCMD_CREATE_Q);request.AddParameter(MQC.MQCA_Q_NAME, queueName);request.AddParameter(MQC.MQIA_Q_TYPE, MQC.MQQT_REMOTE);request.AddParameter(MQC.MQCA_REMOTE_Q_MGR_NAME, ycqmName);request.AddParameter(MQC.MQCA_REMOTE_Q_NAME, ycqueueName);request.AddParameter(MQC.MQCA_XMIT_Q_NAME, csqueueName);PCFMessage[] response = agent.Send(request);agent.Disconnect();}/// &summary&/// 创建发送方通道/// &/summary&/// &param name="qmName"&队列管理器&/param&/// &param name="channelName"&通道名称&/param&/// &param name="transmissionQueueName"&传输队列名称&/param&/// &param name="iPPort"&IP地址与端口号 例:localhost(1415) &/param&public void CreateChannelBySend(string qmName, string channelName, string transmissionQueueName, string iPPort){PCFMessageAgent agent = new PCFMessageAgent(qmName);PCFMessage request = new PCFMessage(CMQCFC.MQCMD_CREATE_CHANNEL);request.AddParameter(CMQCFC.MQCACH_CHANNEL_NAME, channelName);request.AddParameter(CMQCFC.MQIACH_CHANNEL_TYPE, MQC.MQCHT_SENDER);request.AddParameter(CMQCFC.MQCACH_CONNECTION_NAME, iPPort);request.AddParameter(CMQCFC.MQCACH_XMIT_Q_NAME, transmissionQueueName);PCFMessage[] response = agent.Send(request);agent.Disconnect();}/// &summary&/// 创建接受方通道/// &/summary&/// &param name="qmName"&队列管理器&/param&/// &param name="channelName"&管道名称&/param&public void CreateChannelByReceive(string qmName, string channelName){PCFMessageAgent agent = new PCFMessageAgent(qmName);PCFMessage request = new PCFMessage(CMQCFC.MQCMD_CREATE_CHANNEL);request.AddParameter(CMQCFC.MQCACH_CHANNEL_NAME, channelName);request.AddParameter(CMQCFC.MQIACH_CHANNEL_TYPE, MQC.MQCHT_RECEIVER);PCFMessage[] response = agent.Send(request);agent.Disconnect();}}
搜索风云榜
51Testing官方微信
51Testing官方微博
测试知识全知道IBM&MQ&JMS&与spring的整合
IBM MQ刚接触,今天就SPRING整合写了个DEMO,借助于《SPRING攻略》
spring xml 的配置:
&文件名:applicationContext-biz-mq.xml
&新浪博客把里面的代码全部转换成HTML了,所以无法粘贴
&可以查看CSDN里面的:
mqconnect.properties配置文件:
app.mq.channel=SYSTEM.DEF.SVRCONN
app.mq.transportType=1
app.mq.port=1414
#队列管理器名称-发送方
queue.manager.send=WMQ1QM
#主机地址-发送方
queue.manager.host.send=10.70.175.81
#队列名称-发送方
queue.name.send=WMQ1OutputQ
#队列管理器名称--接收方
queue.manager.get=WMQ2QM
#主机地址--接收方
queue.manager.host.get=10.70.175.82
#队列名称--接收方
queue.name.get=WMQ2InputQ
MessageTest.java测试文件,用来启动接收监听的配置文件:
org.springframework.context.support.ClassPathXmlApplicationC
public class MessageTest {
&public static void main(String[] args) {
ClassPathXmlApplicationContext("classpath*:/applicationContext-biz-mq.xml");
MessageListener.java监听文件:
com.zmcc.servicemanager.biz.CallRecordB
import com.zmcc.servicemanager.domain.CallR
public class MessageListener{
&private CallRecordBiz callRecordB
&public void receviedMessage(CallRecord
callRecord) {
&&System.out.println(callRecord.getRequestContent());
&public CallRecordBiz getCallRecordBiz()
&&return callRecordB
&public void setCallRecordBiz(CallRecordBiz
callRecordBiz) {
&&this.callRecordBiz =
callRecordB
MessageConverter.java用来转换的类:
&import java.util.D
import javax.jms.JMSE
import javax.jms.M
import javax.jms.S
import javax.jms.TextM
org.springframework.jms.support.converter.MessageConversionExcepti
import com.zmcc.servicemanager.domain.CallR
public class MessageConverter implements
org.springframework.jms.support.converter.MessageConverter {
&public Message toMessage(Object object, Session
session) throws JMSException, MessageConversionException {
&public Object fromMessage(Message message) throws
JMSException,MessageConversionException {
&&TextMessage mapMessage =
(TextMessage)
&&CallRecord callRecord = new
CallRecord();
&&callRecord.setEndTime(new
&&callRecord.setRequestContent(mapMessage.getText());
&&return callR
CallRecord.java实体类
&public class CallRecord implements
Serializable{
&private static final long serialVersionUID =
&private String requestC
&private Date endT
&JmsProducer.java发送消息:
&import javax.jms.C
import javax.jms.D
import javax.jms.JMSE
import javax.jms.MessageP
import javax.jms.S
import javax.jms.TextM
import com.ibm.mq.jms.JMSC;
import com.ibm.mq.jms.MQQueueConnectionFactory;
public class JmsProducer {
&public static void main(String[] args) {
&&// Variables
&&Connection connection =
&&Session session =
&&Destination destination =
&&MessageProducer producer =
&&&// Create a
connection factory
&&&MQQueueConnectionFactory
factory = new MQQueueConnectionFactory();
&&&factory.setQueueManager("WMQ1QM");
&&&factory.setHostName("10.70.175.81");
&&&factory.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP);
&&&factory.setPort(1414);
&&&factory.setChannel("SYSTEM.DEF.SVRCONN");
&&&// Create
JMS objects
&&&connection =
factory.createConnection();
&&&session =
connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
&&&destination =
session.createQueue("WMQ1OutputQ");
&&&producer =
session.createProducer(destination);
uniqueNumber = System.currentTimeMillis() % 1000;
&&&TextMessage
message = session
&&&&&.createTextMessage("JmsProducer:
Your lucky number today is " + uniqueNumber);
&&&// Start
the connection
&&&connection.start();
&&&// And,
send the message
&&&producer.send(message);
&&&System.out.println("Sent
message:\n" + message);
&&} catch (JMSException jmsex)
&&&jmsex.fillInStackTrace();
&&} finally {
&&&&producer.close();
&&&&session.close();
&&&&connection.close();
&&&} catch
(JMSException e) {
&&&&e.printStackTrace();
所对应的发送方WMQ1QM的资源管理器:
所对应的通道:
接收方WMQ2QM的队列:
资源管理器即IBM MQ
explorer是基于eclipse的进行的,在eclipse里面添加plug插件即可,其更新地址为:
我的更多文章:
( 11:45:46)( 20:19:21)( 09:22:30)( 14:13:27)( 08:48:43)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。WebsphereMQ编程篇第二十三章编程设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
WebsphereMQ编程篇第二十三章编程设计
&&WebsphereMQ编程篇第二十三章编程设计
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
还剩13页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 mq 通道启动 的文章

 

随机推荐