mq通讯方式
1. active mq 可以用于消息通讯么
MQ 是应用层协议,TCP是网络层协议。他们不在一个层次。 MQ可以用TCP实现,也可专以用UDP实现。 MQ的原理是基于属消息的通信方式,Message Queue消息队列。 而消息队列一般都有API可以直接用,不用自己重新实现。
2. MQ是什么意思
第一种解释:IBM MQ
介绍:
消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。
IBM WebSphere MQ 产品支持应用程序通过不同组件如处理器、子系统、操作系统以及通信协议的网络彼此进行通信。例如,IBM WebSphere MQ 支持 35 种以上的不同操作系统。
IBM WebSphere MQ 支持两种不同的应用程序编程接口:Java 消息服务(JMS)和消息队列接口(MQI)。在 IBM WebSphere MQ 服务器上,JMS 绑定方式被映射到 MQI。如图 3 所示,应用程序直接与其本地队列管理器通过使用 MQI 进行对话,MQI 是一组要求队列管理器提供服务的调用。MQI 的引人之处是它只提供 13 次调用。这意味着对于应用程序编程员它是一种非常易于使用的接口,因为大部分艰苦工作都将透明完成的。
图形 2. IBM WebSphere MQ 编程
图 2 显示了 IBM WebSphere MQ 编程的原理。第一步是让应用程序与队列管理器连接。它通过 MQConnect 调用来进行此连接。下一步使用 MQOpen 调用为输出打开一个队列。然后应用程序使用 MQPut 调用将其数据放到队列上。要接收数据,应用程序调用 MQOpen 调用打开输入队列。应用程序使用 MQGet 调用从队列上接收数据。
图中还显示了消息通道代理(MCA)、通道出口和对象权限管理器(OAM)。MCA 是 IBM WebSphere MQ 程序,它使用现有传输服务诸如 TCP/IP 与 SNA 将消息从本地传输队列移到目标队列管理器。这些传输服务即通道。通道出口是用户写入库,可以在通道运作期间,从已定义位置号之一进入这些库。OAM 是命令和对象管理的缺省授权服务(针对操作系统)。这三个组件对 IBM WebSphere MQ 的现有安全性解决方案非常重要。
第二种解释:
德商(MQ)
德商(Moral Intelligence Quotient,缩写成MQ),是指一个人的德性水平或道德人格品质。德商的内容包括体贴、尊重、容忍、宽恕、诚实、负责、平和、忠心、礼貌、幽默等各种美德。我们常说的“德智体”中是把德放在首位的;科尔斯说,品格胜于知识。可见,德是最重要的。一个有高德商的人,一定会受到信任和尊敬,自然会有更多成功的机会。
古人云:“得道多助,失道寡助”、“道之以德,德者得也”,就是告诉我们要以道德来规范自己的行为,不断修炼自己,才能获得人生的成功。古今中外,一切真正的成功者,在道德上大都达到了很高的水平。
现实中的大量事实说明,很多人的失败,不是能力的失败,而是做人的失败、道德的失败。
3. ActiveMQ怎么实现两台服务器之间的通讯。比如A发消息给B,B能收到。具体的代码和配置。
公共静态无效的主要(字串[] args)抛出那么JMSException {
字符串URL =“TCP :/ /本地主机:61616;
ActiveMQConnectionFactory的connectionFactory =:新ActiveMQConnectionFactory(
); / /设置的用户名和密码,用户名和密码的conf目录credentials.properties的文件也可以被配置在activemq.xml
connectionFactory.setUserName“(”系统“);
”的connectionFactory setPassword( “经理人”);创建
/ /创建一个连接,
接口连接connectionFactory.createConnection();
connection.start的();
会话连接。会议上的(假Session.CLIENT_ACKNOWLEDGE);
/ /创建目标,创建一个主题,你也可以创建一个队列的
目的地的的的目标session.createQueue(“1230”); ...... /> / /创建一个消息消费者
MessageProcer:制造商的目标:= session.createProcer();
procer.setDeliveryMode(DeliveryMode.PERSISTENT);
字符串JMSCorrelationID “'S +”1001“+”'“;
”的MessageConsumer:消费者session.createConsumer(目标),选择
TextMessage的TM = session.createTextMessage(12345111);
TM。 setJMSCorrelationID(1001“);
procer.send(TM);
TextMessage的(真实){
TM1 =(TextMessage的介质)consumer.receive(1000);
(null! ,TM1){
System.out.println(TM1);
tm1.acknowledge();
System.out.println(tm1.getText());
}
突破;
}
consumer.close();
procer.close();
session.close(); BR />连接关闭();}
}