学习分布式——ActiveMQ 消息中间件(三)

本文详细介绍了ActiveMQ中的JMS消息发送模式,包括点对点和发布/订阅模式的特点及应用场景,以及JMS应用程序接口如ConnectionFactory、Connection、Destination等关键组件的功能和作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

消息发送模式和接口说明

一、端口说明

ActiveMQ试用61616端口提供JMS服务,使用8161提供管理控制台的服务。

二、JMS消息发送模式

点对点模式:

在这里插入图片描述
在点对点或队列模式下,一个生产者向一个特定的队列发部消息,一个消费者从该队列读取消息。这里,生产者知道消费者的队列,并直接将消息发送到消费者队列。这种模式被概括为:只有一个消费者将获取消息,生产者不需要在接收者消费该消息期间处于运行状态,接收者同样不需要在消息发送时处于运行状态,每个成功处理的消息都由接收者签收。
也就是说不需要同时在运行状态。

发布/订阅模式:

在这里插入图片描述
发布/订阅模式支持向一个特定的消息主题发布消息。0或者多个订阅者可能对接收来自特定消息的主题感兴趣。在这种模式下,发布者和订阅者彼此不知道对方。这种模式好比匿名公告。这种模式概括为:多个消费者可以获得消息在发布者和订阅者之间的时间依赖性。发布者需要建立一个订阅,以便客户能够订阅。订阅者必须保持持续的活动状态以接收消息,除非订阅者建立了持久的订阅,这种情况下,在订阅者未连接时发部的消息将在订阅者重新连接时重新发布。
订阅分为临时订阅和持久订阅。

三、JMS应用程序接口

在这里插入图片描述

1.ConnectionFactory(连接工厂)

用户用来创建到JMS提供者连接的被管对象,JMS客户通过可移植的接口访问连接,这样当下层的实现改变时,代码不需要进行修改,管理员在JNDI名字空间中配置连接工厂,这样,JMS客户次啊能查找到它们,根据消息类型的不同,用户将使用队列连接工厂,或者主题连接工厂。

2.Connectin接口(连接)

连接代表了应用程序和消息服务器之间的通信链路。在获得了连接工厂后,就可以创建一个JMS提供者的连接,根据不同的连接类型,连接允许用户创建会话,以发送和接收队列和主题目标。

3.Destination接口(目标)

目标是一个包装了消息目标标识的被管对象,消息目标是指消息发布和接收的地点,或者是队列,或者是主题。JMS管理员创建这些对象,然后用户通过JNDI发现它们,和连接工厂一样,管理员可以创建两种类型的目标,点对点模式的队列,以及发布/订阅模式的主题。

4.MessageConsumer接口(消息消费者)

由会话创建的对象,用来接收发送到目标的消息,消息可以同步的(阻塞模式),或异步(非阻塞)接收队列或主题类型的消息。

5.MessageProducer接口(消息生产者)

由会话创建对象,用于发送消息到目标。用户可以创建莫格目标的发送者,也可以创建通用的目标发送者,在发送消息时指定目标。

6.Message接口(消息)

在消费者和生产者之间传递的对象,也就是多从一个应用程序发送到另外一个应用程序。一个消息由三个主要部分组成。
消息头(必须):包含用于识别和为消息寻找路由的操作设置。
一组消息属性(可选):包含额外的属性,支持其他提供者和用户兼容,可以创建定制的字段和过滤器(消息选择器)。
一个消息体(可选):允许用户创建5种类型的消息(文本,字节,对象。流,影射)。
消息接口非常灵活,并提供了许多方式来定制消息的内容。

Session接口(会话)

表示一个单线程的上下文,用于发送和接收消息,由于消息是单线程的,所以消息是连续的,消息是按照发送的顺序一个一个接收的,会话的好处是支持事务,如果用户选择了事务支持,会话上下文将保存一组消息,直到事务提交才发送这些消息,在事务提交前,用户可以选择回滚操作取消这些消息。一个会话允许用户创建消息生产者用来发送消息,创建消息消费者来接收消息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值