标签:
ActiveMQ消息服务器。
ActiveMQ是apache的一种jms标准实现,支持两种模型,点对点发送消息以及发布订阅者模型。
为了规范JMS API,JMS为消息传送定义了很多概念:
JMS客户端----100%用Java编写的发送和接收消息的应用。
Non-JMS客户端----使用JMS提供者特定的客户端API而不是JMS API来发送和接收消息的应用。
JMS producer----创建和发送JMS消息的客户端应用。
JMS consumer----接收和处理JMS消息的客户端应用。
JMS provider----100%使用Java编写的JMS接口的实现。
JMS message----JMS最基础的概念;被JMS客户端发送和接收。
JMS domains----两者类型的消息传送,包括点对点(point-to-point)和发布/订阅(publish/subscribe)模式。
Administered objects----预配置的JMS对象,包含provider特定的配置信息。客户端通过JNDI来访问这些数据。
Connection factory----客户端使用连接工厂来连接JMS provider。
Destination----消息被投递的地方,以及接收者消息接收的来源。
除此之外,还有其它一些同样重要的概念。下一部分将深入这些概念并描述它们怎么构建整个JMS。
单点模型:
发布/订阅者模型:
?
启动ActiveMQ:
Activemq 在window环境下只需cd到bin目录下,输入activemq start 即可启动,注意电脑名不能为中文,否则会报错。
启动后打开web管理界面:http://localhost:8161/admin/
?
可以看到activeMQ几个关键信息:
Queue,Topic,Subscribers。
要创建jms程序,有几个必要的步骤:connectinFactory->connection->session->destination->cosumer/producer
?
点对点的JMS发送程序,使用queue作为连接,MQ会保存消息。
创建了一个名为"my-queue"的queue:
接受方程序:
?
发布/订阅模型,MQ不会显示保存数据,需要显示申明自己的clienID和持久订阅连接。
发送方,设置消息为持久性保存 setDeliveryMode(DeliveryMode.PERSISTENT)
接收方,需要显示声明自己是持久性订阅 createDurableSubscriber
标签:
原文地址:http://www.cnblogs.com/AlwaysFixBug/p/4809761.html