您的位置:首页 > 其它

技术点-ActiveMQ-概念性总结

2017-07-31 14:27 155 查看
首先需要理解下JMS是什么?

java消息服务程序接口,是java中面向消息中间件的api.(是接口也是API)

用于在分布式系统中进行异步通信。(消息发送和接收)

JMS的体系架构-常用名词

JMS提供者(实现者):如ActiveMq,JbossMq等

JMS生产者和消费者: 生产者负责创建并发送消息给客户,消费者负责接收和处理消息的客户。

JMS队列: 一个容纳发送后待消费/阅读的区域。

JMS主题: 是一种机制,支持发送消息给多个订阅者的机制。

JMS中涉及到的对象

连接工厂: 客户端通过JNDI查找连接工厂,然后利用连接工厂创建一个JMS连接。 也就是用来创建JMS连接的。

JMS连接:JMS客户端和服务端之间的一个活动的连接,是客户端创建的。

JMS会话: session标识客户端和服务端之间的连接会话状态,建立在JMS连接上,标识一个会话进行的状态。

消息类型: 分为队列, 发布/订阅类型。

JMS部分理解,借鉴大牛博客,非常感谢!

http://blog.csdn.net/jamebing/article/details/53321093

ActiveMQ:

ActiveMQ启动指导,借鉴大牛博客:

http://blog.csdn.net/gaohuanjie/article/details/37737141

ActiveMQ占用两个端口,一个是负责接收发送消息的tcp端口:61616,一个是基于web负责用户界面化管理的端口:8161。

ActiveMQ的管理页面中经常用到的模块解释

queue:(点对点消息模式)

Number of Pending Message 生产了的消息的数目

Message Enqueued 在排队等待被消费,即使消费过了,还是会显示

Number of Consumers 代表消费者的个数

Message Dequeued 代表有几条消息被消费

Consumers,我们可以看到这个消费者的详细信息

这里讲解下异步和同步的理解/区别:

同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将一直等待下去,直到收到返回信息才继续执行下去。

异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。

代码配置方面的配置流程:(大致)

发送方:

1,配置connectionFactory。

-管理者,spring提供

-实际工作者,JMS服务商提供。

2,配置消息的发送对象

如JMSTemplate

3,配置消息模式

-点对点

-发布订阅

4,创建通道名称。

-必须和消费方保持一致

发现点:

对于点对点模式,如果有多个消费者,那么随机分配或者轮流消费。

个人理解,有错误的地方,欢迎各位大牛批评指正!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  消息中间件