由于项目原因,很长时间没有更新了。今天本篇主要解释一些名词,为下一步的ActiveMQ的Queue使用奠定基础
在开始演示前先引入一些概念:
Q:ActiveMQ Queue中有哪些消息交互模式(传送模式)?
A:ActiveMQ遵循JMS标准分为:
1.PERSISTENT(持久性消息)
这是 ActiveMQ 的默认传送模式,此模式保证这些消息只被传送一次和成功使用一次。对于这些消息,可靠性是优先考虑的因素。可靠性的另一个重要方面是确保持久性消息传送至目标后,消息服务在向消费者传送它们之前不会丢失这些消息。这意味着在持久性消息传送至目标时,消息服务将其放入持久性数据存储。如果消息服务由于某种原因导致失败,它可以恢复此消息并将此消息传送至相应的消费者。虽然这样增加了消息传送的开销,但却增加了可靠性。
2.NON_PERSISTENT(非持久性消息)
保证这些消息最多被传送一次。对于这些消息,可靠性并非主要的考虑因素。 此模式并不要求持久性的数据存储,也不保证消息服务由于某种原因导致失败后消息不会丢失。
Q:如何设置消息交互模式(传送模式)?
A:在ActiveMQ中有2种方法来设置,分别适用于不同的场景。我更偏向于第一种处理方式,有利于消息的封装和统计。
1.在消息生产者中直接设置模式,
producer.setDeliveryMode(int deliveryMode);
此模式的适用于单一类型的消息生产者。
2.在每条消息中设置,
void send(Destination destination, Message message, int deliveryMode, int priority,long timeToLive);
void send(Message message, int deliveryMode, int priority, longtimeToLive);
其中 deliveryMode 为传送模式,priority 为消息优先级,timeToLive 为消息过期时间。
Q:想要使用自定义的Queue来管理消息,该如何做?
A:继承ActiveMQDestination并实现Queue(javax.jms包)接口
相关推荐
互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术...
#### 四、为高并发程序部署ActiveMQ 在部署支持高并发的ActiveMQ系统时,主要涉及三个方面:垂直扩展、水平扩展以及传输负载分流。 ##### 1. 垂直扩展 垂直扩展的目标是在单一的ActiveMQ实例上支持更多的连接和...
#### 四、CMS 概念 - **CMS 定义**:CMS 是一组 C++ API,用于创建、发送、接收和读取消息。它提供了一种与平台无关的方式,使得 C++ 应用程序可以与其他消息组件进行通信。 - **CMS 与 JDBC 类比**:CMS 类似于 ...
5. **消息类型**:ActiveMQ支持TextMessage、ObjectMessage、BytesMessage和MapMessage四种基本消息类型。 6. **消息持久化**:通过设置Message的持久化属性,可以在服务器重启后仍保留消息。这对于实现高可用性和...
3. **JMS支持**:ActiveMQ完全符合JMS 1.1规范,支持Message Queue、Topic、Temporary Queue和Temporary Topic四种类型。用户可以通过JMS API创建连接、会话、生产者、消费者并发送/接收消息。 4. **协议支持**:...
四、配置端口 我们还需要开启端口,需要开启的端口是8161和61616。在终端输入以下命令: `setup` 然后,在setup界面中添加8161和61616端口。 五、测试Activemq 输入`http://localhost:8161/admin/`,以测试...
在本篇ActiveMQ学习笔记中,我们将探讨如何通过纯代码方式启动一个嵌入式的Broker,这对于测试、开发或者快速原型构建非常有用。ActiveMQ是一个开源的消息代理,它遵循Java消息服务(JMS)规范,提供了高可靠性的...
四、ActiveMQ核心特性 1. 持久化:ActiveMQ支持消息持久化,即使服务器重启,消息也不会丢失。 2. 事务支持:JMS事务允许一次操作多个消息,确保数据一致性。 3. 路由与筛选:通过Virtual Topics和Filters实现复杂的...
#### 四、用ActiveMQ构建应用 - **启动Broker的方法**:可以通过命令行工具 `activemq start` 启动 Broker,也可以通过编程方式启动。 - **单独应用的开发**:编写 Java 应用程序使用 ActiveMQ 的 JMS API 进行消息...
#### 四、与Spring框架整合 将ActiveMQ与Spring框架整合可以简化消息中间件的使用。主要步骤包括: 1. **引入依赖**:在项目中添加ActiveMQ的Maven依赖。 2. **配置连接工厂**:创建`ConnectionFactory` bean,...
四、实例应用 例如,在电商系统中,订单处理可能涉及多个服务,如库存检查、支付验证等。ActiveMQ可以通过消息队列实现这些服务之间的异步通信,当订单创建后,生产者将订单信息发送到队列,库存服务和支付服务作为...
#### 四、总结 通过以上介绍可以看出,ActiveMQ作为一款成熟的消息中间件,不仅能够提供稳定的消息传输服务,还具备丰富的功能和良好的性能表现。对于需要解决异步消息处理、高并发访问等问题的应用场景而言,...
四、示例项目结构 在提供的"activemq服务器及spring简单模板项目"中,我们可以看到以下主要部分: - `pom.xml`:项目依赖管理,包含了ActiveMQ和Spring的相关依赖。 - `src/main/resources`:包含了Spring的配置文件...
#### 四、访问 ActiveMQ 管理界面 成功安装并配置ActiveMQ后,可以通过浏览器访问其管理界面: - **访问地址**: `http://localhost:8161/admin/` - **用户名**: admin - **密码**: admin 通过上述步骤,您就可以...
#### 四、JMS规范介绍 JMS(Java Message Service)是Java平台中关于面向消息中间件的API,用于在两台计算机之间传递消息。JMS规范定义了一系列标准接口,以便开发者能够在不同的JMS实现之间进行互换。 ##### 4.1 ...
#### 四、ActiveMQ的安装与配置 ##### 安装步骤 1. **下载**:从官方网站(http://activemq.apache.org/)下载最新版本的ActiveMQ。 2. **解压**:将下载的压缩包解压至期望的目录。 3. **运行**:通过命令行启动...
**四、总结** Apache ActiveMQ以其强大的功能和灵活性,成为了众多企业级应用的消息传递首选。了解并熟练掌握ActiveMQ的使用,能够帮助开发者构建更稳定、更高效的分布式系统。无论是在微服务架构中还是在传统的...
**四、activemq使用场景** 适用于分布式系统中的解耦、异步处理、负载均衡、故障恢复等场景。例如,它可以用来在系统组件之间传递事件,减少直接依赖,提高系统的响应速度和容错能力。 **五、activemq整合spring**...
四、ActiveMQ实战应用 在实际应用中,ActiveMQ常用于以下场景: - 微服务间的异步通信:微服务架构中,通过消息队列可避免直接调用导致的阻塞,提高系统响应速度。 - 数据同步:在分布式数据库或主从复制环境中,...