传统的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 |
接收消息 |