`

activeMQ 的 Queue 的生产和消费

    博客分类:
  • jms
阅读更多

概念:两种JMS的实现方法:
Topic==>消息主题 是发布/订阅 机制 一个消息产生多个对应 1:N  publish/subscribe
Queue==>消息队列 是点到点 一个消息产生一个对应 1:1   point-to-point

 

activeMQ 的 Queue 的生产和消费

一、生产

 

   1. 创建链接Q服务器
   ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, url);
   Connection connection = connectionFactory.createConnection();
   connection.start();

 

   2.创建session,并设置事务和策略
   Session session = connection.createSession(事务参数,策略参数);

 

   3.定位队列
   Destination destination = session.createQueue(队列名称);     
  
   4.创建产品生产对象
   MessageProducer producer = session.createProducer(destination);

     producer.setDeliveryMode(DeliveryMode.PERSISTENT);//在Q关闭时会序列到默认或指定位置,重启后恢复

     //producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

 

 

   5.创建 message 并发送到Queue 中
   Message message = session.createMessage("内容");
   producer.send(message);
   session.commit();//用于事务时

 

   6.close
   producer.close();
   session.close();
   connection.close();

 

二、消费 (需要实现MessageListener接口的onMessage(Message message)方法 )
   1. 创建链接Q服务器
   ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, url);
   Connection connection = connectionFactory.createConnection();
   connection.start();

   2.创建session,并设置事务和策略
   Session session = connection.createSession(事务参数,策略参数);

   3.定位队列
   Destination destination = session.createQueue(队列名称);     
  
   4.创建产品消费对象
   MessageConsumer consumer = session.createConsumer(destination);

   consumer.setMessageListener(this);

 

   5.从Queue中取出消息

   Message message = consumer.receive(1000);
   session.commit();//用于事务时

 

   6.close
   consumer.close();
   session.close();
   connection.close();

分享到:
评论

相关推荐

    Apache ActiveMQ Queue Topic 详解

    ### Apache ActiveMQ Queue & Topic 详解 #### 一、特性及优势 Apache ActiveMQ 是一款高性能、功能丰富的消息中间件,具有以下显著特点: 1. **实现 JMS 1.1 规范**:支持 J2EE 1.4 及以上版本,这意味着它可以...

    activemq生产者和消费者案例代码.zip

    本案例代码包含了一个基本的ActiveMQ生产者和消费者的应用示例,帮助开发者理解如何使用ActiveMQ进行消息传递。 1. **JMS(Java Message Service)简介** JMS是Java平台上的一个标准API,它定义了生产、发送、接收...

    spring 整合 activemq 生产者和消费者 案例源码

    Spring框架提供了对JMS的全面支持,包括对消息生产者和消费者的抽象,简化了与消息代理如ActiveMQ的集成。以下是如何在Spring中配置和使用ActiveMQ的基本步骤: 1. **添加依赖**:在项目的Maven或Gradle配置中,...

    activeMQ生产者和消费者代码

    在分布式系统中,ActiveMQ作为消息代理,负责接收、存储和转发消息,从而实现生产者与消费者之间的解耦。 生产者和消费者是JMS中的核心概念。生产者是发送消息的应用,而消费者则是接收这些消息的应用。在ActiveMQ...

    基于SpringBoot的ActiveMQ生产者/消费者

    在本项目中,我们探讨的是如何使用SpringBoot集成Apache ActiveMQ来构建一个生产者和消费者的应用。SpringBoot以其简洁的配置和快速启动特性,成为现代Java应用开发的首选框架之一,而ActiveMQ则是流行的消息中间件...

    spring集成activemq演示queue和topic 持久化

    return new ActiveMQQueue("myQueue"); } @Bean public Topic topic() { return new ActiveMQTopic("myTopic"); } @Bean public JmsListenerContainerFactory<?> queueListenerContainerFactory...

    ActiveMQ的队列queue模式(事务、应答、转发模式、阻塞消息)

    本文将深入探讨ActiveMQ中的队列(Queue)模式,包括事务、应答、转发以及MessageConsumer的receive阻塞消息处理方式。 ### 1. ActiveMQ队列(Queue)模式 在ActiveMQ中,队列是一种点对点的消息传递模型,每个...

    ActiveMQ队列消息过期时间设置和自动清除解决方案.docx

    ActiveMQ 队列消息过期时间设置和自动清除解决方案 ActiveMQ 是一个开源的消息队列系统,用于实现分布式系统之间的异步通信。在使用 ActiveMQ 时,消息过期时间设置和自动清除是一个非常重要的问题。本文将介绍 ...

    ActiveMQ的queue和topic两种模式的示例演示参照.pdf

    在ActiveMQ中,有两种主要的消息传递模式:Queue和Topic。这两种模式都是基于JMS(Java Message Service)标准,用于在分布式环境中实现异步通信。理解它们的区别和应用场景至关重要。 **Queue(队列)模式** ...

    activemq的queue队列模式的maven,spring的demo

    return new ActiveMQQueue("MyQueue"); } @Bean public MessageProducer messageProducer(JmsTemplate jmsTemplate, Destination destination) { return new MessageProducer(jmsTemplate, destination); } }...

    springboot2整合activemq的demo内含queue消息和topic消息

    - demo项目中应该包含生产者和消费者的相关代码,演示如何创建消息、发送到Queue或Topic,以及如何接收和处理消息。 - 可能包含`@JmsListener`注解用于定义消息监听器,以及`JmsTemplate`用于发送消息。 8. **...

    ActiveMQ生产者

    它定义了生产者(发送消息)、消费者(接收消息)和消息队列(存储消息)之间的交互方式。JMS提供两种消息模型:点对点(Point-to-Point, PTP)和发布/订阅(Publish/Subscribe, Pub/Sub)。 2. **ActiveMQ安装与...

    ActiveMQ整合Spring(多消费者)

    在IT行业中,消息队列(Message Queue)是分布式系统中常用的一种技术,它能有效地解耦各个服务,提高系统的响应速度和并发处理能力。ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它支持多种消息协议,如...

    activemq实战项目,同ssh框架整合(生产者+消费者)

    - **Spring**:Spring框架提供了对ActiveMQ的集成,可以方便地在Spring配置文件中声明消息代理和生产者、消费者bean,实现依赖注入。 - **Struts**:Struts作为MVC框架,负责处理用户请求并调用业务逻辑。通过...

    ActiveMQ的队列、topic模式

    本文将深入探讨ActiveMQ中的两种主要消息模式:队列(Queue)和主题(Topic)。 1. **队列(Queue)模式**: 队列模式遵循“发布/订阅”模型,但是一对一的。每个消息只能被一个消费者接收并处理。当一个消息被...

    boot-example-activemq-queue-2.0.5

    使用SpringBoot方式集成ActiveMQ ActiveMQ消息中间件的点对点模式point to point 消息队列 ...* queue中支持存在多个消费者,但是对一个消费者而言,只会有一个消费者可以消费,其他的消费者便不能消费此消息

    ActiveMQ接受和发送工具.rar

    它定义了生产、存储、消费和传输消息的标准接口,使得开发人员可以在多种消息中间件上工作,而无需关心其具体实现。 2. **ActiveMQ的核心组件**: - **Broker**:ActiveMQ的核心组件,负责接收、存储和转发消息。...

    activeMQ 详细教程与源码(包含消费者与生产者)

    总之,这个 ActiveMQ 教程结合了理论知识和实践示例,可以帮助开发者快速掌握如何在 Spring 环境中使用 ActiveMQ 实现消息生产和消费,并通过源码分析进一步提升对消息中间件的理解。如果你想要构建一个高效、可扩展...

    activeMQ收发工具.rar

    6. **消息生产者与消费者**:掌握如何使用ActiveMQ收发工具创建消息生产者发送消息,以及创建消息消费者接收消息。 7. **持久化与非持久化消息**:了解消息的持久性配置,这决定了消息在服务器重启后是否仍然可用。...

    Springboot整合ActiveMQ(Queue和Topic两种模式)

    通过`@Value`注入队列和主题的名称,并分别定义`ActiveMQQueue`和`ActiveMQTopic`的@Bean,如以下示例所示: ```java @Component @EnableJms public class ConfigBean { @Value("${myqueue}") private String ...

Global site tag (gtag.js) - Google Analytics