传统的request/response
在客户端提交请求后必须等待服务端处理完毕给于反馈,这期间客户端完全处于空闲等待状态,甚至有可能超时;
·基于消息中间件的request/response
客户端提交请求,不必等待服务器处理,客户端可以继续进行其它操作,而服务端形成命令的消息列队,在空闲的时候进行处理,客户端可以异步接收来自服务端反馈信息;
·启动ActiveMQ
下载ActiveMQ5.0,(前提,配置好java_home/classpath等)在bin目录,activemq.bat(win)或activemq(linux)启动服务。也可以安装成系统服务。
ActiveMQ5.0的WEB监控默认为:http://localhost:8161/admin 在此可以监控所有消息情况。
并且ActiveMQ5.0在WEB上也提代了简单DEMO应用(基本没用)
·JMS客户端
JMS只有JMS服务器是服务器,消息的发送端和接收端都是JMS的客户端。
ActiveMQ服务实现了JMS1.1规范,支持两种消息传递模型:点对点(PTP)、发布-订阅(PUB/SUB)模型,支持持久消息。
发送消息和接收消息流程:
序号 | 发 送 | 接 收 |
1 | 创建JMS连接 ConnectionFactory | 创建JMS连接 ConnectionFactory |
2 | 创建会话 Session 定义是否事务和回传通知方式 | 创建会话 Session 定义是否事务和回传通知方式 |
3 | 创建消息目的地和主题 Destination Subject定议Queue或Topic | 创建消息目的地和主题 Destination Subject定议Queue或Topic |
4 | 创建消息提供者 Producer | 创建消息接收者 Consumer |
5 | 创建消息体 Message | 接收消息,进行ACKNOWLEDGE |
6 | 发送消息 Send | 如有JMSReplyTo,转至消息发送流程 |
7 | 接收消息 |