springBoot配置activeMq点对点模式消费信息以及独占模式消费如何设置

1、在pom文件中引入对应jar包 

<!--activeMQ  start-->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
</dependency>
<dependency>
   <groupId>org.apache.activemq</groupId>
   <artifactId>activemq-pool</artifactId>
   <!-- <version>5.7.0</version> -->
</dependency>
<dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-test</artifactId>
   <version>5.0.7.RELEASE</version>
</dependency>
<dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.12</version>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-test</artifactId>
   <version>2.0.3.RELEASE</version>
</dependency>
<!--activeMQ  end-->

2、application.yml文件配置activemq;对于监听Listener使用注解的形式

#activeMQ的配置
  activemq:
    broker-url: tcp://localhost:61616
    in-memory: true
    pool:
      enabled: false #如果此处设置为true,需要加如下的依赖包,否则会自动配置失败,报JmsMessagingTemplate注入失败

3、创建生产者类,生产者代码如下:

/**
 * Created by Administrator on 2018/7/27.
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootJmsApplicationTests {
    @Test
    public void contextLoads() throws InterruptedException, JMSException {
        Destination destination = new ActiveMQQueue("queue_demo");
        //创建与JMS服务的连接:ConnectionFactory被管理的对象,由客户端创建,用来创建一个连接对象
        ConnectionFactory connectionfactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
        //获取连接,connection一个到JMS系统提供者的活动连接
        javax.jms.Connection connection = connectionfactory.createConnection();
        //打开会话,一个单独的发送和接受消息的线程上下文
        Session session =connection.createSession(false,Session.AUTO_ACKNOWLEDGE );
        Queue queue = new ActiveMQQueue("queue_demo");
        MessageProducer msgProducer = session.createProducer(queue);
        Message msg = session.createTextMessage("文本1");
        msgProducer.send(msg);
        System.out.println("文本消息已发送");
    }
}

4、编写消费者代码,代码如下:

/**
 * Created by Administrator on 2018/7/27.
 */
@Component
public class Consumer2 {
    // 使用JmsListener配置消费者监听的队列,其中text是接收到的消息
    @JmsListener(destination = "queue_es")
    public void receiveQueue(String mapStr) {
        System.out.println("接受的消息:"+mapStr);

    }
}

5、运行生产者(本处是test注解的测试代码),直接运行,结果如下

发送端:

接收端:

ps:如果想设置为独占消息消费模式,只需将消费者的代码@JmsListener注解处修改为如下代码:

@JmsListener(destination = "queue_es?consumer.exclusive=true")就可以设置此消费者为独占消息消费模式,队列里的任务会玩先后顺序被这个消费者处理掉

原文地址:https://www.cnblogs.com/lazycxy/p/9456598.html

时间: 2024-10-27 04:54:37

springBoot配置activeMq点对点模式消费信息以及独占模式消费如何设置的相关文章

校园学生消费信息管理系统(C++)

本人第一次写博客,也不知道该怎么写,只能按着自己能想到的思路来分享一下自己做的东西. 这个程序其实是我在大一下学期c++要求写的课程设计,奈何那时懂的不多,加上不好好学习,没能完整实现里面要求的功能.现在回过头来写,实在有不少感慨.这个课程设计要求编写代码实现校园学生消费信息记录,实现最基本的删除.修改.查询等功能,后来我添加了将信息保存到文件的功能. 说一下实现这个系统的思路吧.结构体是一个很好用的数据结构,将不同基本数据类型任意结合,是存储学生基本信息的最好结构.那么怎么对这个结构体进行管理

Springboot配置

application.properties # ----------------------------------------# 核心属性# ---------------------------------------- # 文件编码banner.charset= UTF-8# 文件位置banner.location= classpath:banner.txt # 日志配置# 日志配置文件的位置. 例如对于Logback的`classpath:logback.xml`logging.con

SpringBoot配置属性之MQ

SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之NOSQL SpringBoot配置属性之MQ SpringBoot配置属性之Security SpringBoot配置属性之Migration SpringBoot配置属性之其他 另外附上个人关于springboot的一些文章 SpringBoot前世今生 SpringBoot集成mybatis S

activeMQ点对点

摘要: ActiveMQ 点对点消息 Point-to-Point 是一对一 创建消息生产者 /**  * 点对点消息生产者  *   * @author Edward  *   */ public class P2pProducer { public static void main(String[] args) { ConnectionFactory connectionFactory = null; Connection conn = null; Session session = nul

SpringBoot配置文件属性值

flyway.baseline-description 执行基线时标记已有Schema的描述. flyway.baseline-on-migrate 在没有元数据表的情况下,针对非空Schema执行迁移时是否自动调用基线.(默认值:false.) flyway.baseline-version 执行基线时用来标记已有Schema的版本.(默认值:1.) flyway.check-location 检查迁移脚本所在的位置是否存在.(默认值:false.) flyway.clean-on-valid

解决Springboot整合ActiveMQ发送和接收topic消息的问题

环境搭建 1.创建maven项目(jar) 2.pom.xml添加依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.0.RELEASE</version> </parent> <dependencies> &l

Springcloud 中 SpringBoot 配置全集 (收藏版)

Springcloud 中 SpringBoot 配置全集 (收藏版) 疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 前言 疯狂创客圈(笔者尼恩创建的高并发研习社群)Springcloud 高并发系列文章,将为大家介绍三个版本的 高并发秒杀: 一.版本1 :springcloud + zookeeper 秒杀 二.版本2 :springcloud + redis 分布式锁秒杀 三.版本3 :springcloud + Nginx + Lua 高性能版本秒杀 以

SpringBoot配置详解

SpringBoot配置详解 SpringBoot自动化配置 在上一节中我们使用Spring Boot实现了一个简单的RESTful API应用,在实现过程中,除了Maven的pom文件的一些配置,我们没有做任何其他的配置,这就是Spring Boot的自动化配置带来的好处,但是,我们还需要了解如何在Spring Boot中修改这些自动化配置的内容,以应对一些特殊的场景需求. 配置文件—Spring Boot支持YAML配置文件和properties配置文件 Spring Boot的默认配置文件

RedHat系统下的网络配置,主机名的修改,进入单用户模式修改root密码和使用SSH远程连接工具

一.操作前准备 a.装有VirtualBox虚拟机和在虚拟机里已安装RedHat系统 b.在百度上搜索下载XSell软件后面会使用它远程连接服务器 二.RedHat系统下的网络配置 a.首先需要对新建的虚拟机进行相应的设置 如图: 这里介绍下为什么要选用桥接模式: VirtualBox中有4中网络连接方式:      a. NAT            网络地址转换模式(Network Address Translation)      b. Bridged Adapter    桥接模式