activeMQ学习(二、与springboot集成)

POOM文件

首先导入activemq所需的jar包

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-activemq</artifactId>
        </dependency>
    </dependencies>

生产者

application.yml

server:
  port: 8090
  servlet:
    context-path: /activemqProducer
spring:
  activemq:
    broker-url: tcp://127.0.0.1:61616
    user: 123
    password: 123

ActiveMqConfig

package com.example.activemqtest.config;

import org.apache.activemq.command.ActiveMQQueue;
import org.apache.activemq.command.ActiveMQTopic;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.jms.Queue;
import javax.jms.Topic;

@Configuration
public class ActiveMQConfig {

    @Bean
    public Queue queue(){
        return new ActiveMQQueue("queue2");
    }

    @Bean
    public Topic topic(){
        return new ActiveMQTopic("topic2");
    }

}

配置生产者要发送消息的队列或者主题,注入spring中

ProducterController

package com.example.activemqtest.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.jms.Queue;
import javax.jms.Topic;

@RestController
public class ProducterController {

    @Autowired
    private JmsMessagingTemplate jmsMessagingTemplate;

    @Autowired
    private Queue queue;

    @Autowired
    private Topic topic;

    @GetMapping("/sendMsgByQueue")
    public String sendMsgByQueue(String msg){
        jmsMessagingTemplate.convertAndSend(queue,msg);
        return msg;
    }

    @GetMapping("/sendMsgByTopic")
    public String sendMsgByTopic(String msg){
        jmsMessagingTemplate.convertAndSend(topic,msg);
        return msg;
    }
}

消费者

@JmsListener(destination = "queue2")
    //方法返回发送给queue3
    @SendTo("queue3")
    public String handleMessage(String msg){
        System.out.println("接收到的返回是:" + msg);
        return "返回:"+ msg;
    }

以上是消费者接收队列queue2的方式

若要接收topic,需要增加配置

server:
  port: 8091
  servlet:
    context-path: /activemqConsumer
spring:
  activemq:
    broker-url: tcp://127.0.0.1:61616
    user: 123
    password: 123
  jms:
    pub-sub-domain: true
@JmsListener(destination = "topic2")
    public void topicConsumer1(String msg){
        System.out.println("消费者1接收为:"+msg);
    }

    @JmsListener(destination = "topic2")
    public void topicConsumer2(String msg){
        System.out.println("消费者2接收为:"+msg);
    }

原文地址:https://www.cnblogs.com/Unlimited-Blade-Works/p/11315904.html

时间: 2024-10-07 08:27:05

activeMQ学习(二、与springboot集成)的相关文章

企业级 SpringBoot 教程 (十二)springboot集成apidoc

首先声明下,apidoc是基于注释来生成文档的,它不基于任何框架,而且支持大多数编程语言,为了springboot系列的完整性,所以标了个题. 一.apidoc简介 apidoc通过在你代码的注释来生成api文档的.它对代码没有侵入性,只需要你写好相关的注释即可,并且它仅通过写简单的配置就可以生成高颜值的api接口页面.它基于node.js,所以你需要安装node.js环境.node.js安装.这里就不介绍. 二.准备工作 安装完node.js安装api.doc 通过命令安装: npm inst

SpringCloud微服务云架构构建B2B2C电子商务平台(十二)springboot集成apidoc

首先声明下,apidoc是基于注释来生成文档的,它不基于任何框架,而且支持大多数编程语言,为了springboot系列的完整性,所以标了个题. 一.apidoc简介 apidoc通过在你代码的注释来生成api文档的.它对代码没有侵入性,只需要你写好相关的注释即可,并且它仅通过写简单的配置就可以生成高颜值的api接口页面.它基于node.js,所以你需要安装node.js环境.node.js安装.这里就不介绍. 二.准备工作 安装完node.js安装api.doc 通过命令安装: npm inst

【使用篇二】SpringBoot集成SpringSecurity(22)

SpringSecurity是专门针对基于Spring项目的安全框架,充分利用了依赖注入和AOP来实现安全管控.在很多大型企业级系统中权限是最核心的部分,一个系统的好与坏全都在于权限管控是否灵活,是否颗粒化.在早期的SpringSecurity版本中我们需要大量的xml来进行配置,而基于SpringBoot整合SpringSecurity框架相对而言简直就是太简单了. SpringSecurity框架有两个概念认证和授权,认证可以访问系统的用户,而授权则是用户可以访问的资源. 1. 构建项目 加

Windows环境下springboot集成redis的安装与使用

一,redis安装 首先我们需要下载Windows版本的redis压缩包地址如下: https://github.com/MicrosoftArchive/redis/releases 连接打开后如下图所示 我们选择64位的压缩包,下载后需要解压,我们解压至D盘,如下图所示: 接下来我们需要执行一些安装命令 1,在如上图的目录中,直接键入“cmd“ 2,在打开的cmd命令窗口中输入 “redis-server.exe redis.windows.conf” 用于启动redis服务 (注意采用这个

SpringBoot集成Shiro 实现动态加载权限

一.前言 本文小编将基于 SpringBoot 集成 Shiro 实现动态uri权限,由前端vue在页面配置uri,Java后端动态刷新权限,不用重启项目,以及在页面分配给用户 角色 . 按钮 .uri 权限后,后端动态分配权限,用户无需在页面重新登录才能获取最新权限,一切权限动态加载,灵活配置 基本环境 spring-boot 2.1.7 mybatis-plus 2.1.0 mysql 5.7.24 redis 5.0.5 温馨小提示:案例demo源码附文章末尾,有需要的小伙伴们可参考哦 ~

ActiveMQ学习教程(二)——简单示例

ActiveMQ学习教程(二)--简单示例 一.应用IDEA构建Maven项目 File->New->Module...->Maven->勾选->选择->Next -> GroupId:com.jd.myMaven   |    ArtifactId:activeMQ    |    version:默认   ->Finish 项目构建成功!项目结构如下所示: 二.创建生产者类,模拟生产者发消息 Step1:java/activemq/JMSProducer

SpringBoot快速上手——《二》:SpringBoot集成SSM,实现增删改查功能

SpringBoot集成SSM,实现增删改查功能 github源码:https://github.com/xivinChen/SpringBoot 一.先介绍创建模块的另一种方式 1.点击Maven -> 勾选Create from archetype -> 选择 maven-archetype-quickstart 有时会需要点击 自动导入 2.工程目录 可以看到,这样创建的模块是相对干净的,需要我们手动的编写程序启动入口类.需要配置时还得创建配置文件.下一步见证. 3.完善模块 添加依赖,

第三章 SpringBoot 集成框架(二)

1.SpringBoot 默认能直接访问的静态资源目录: /static    public  /resources  /META-INF/resources 2.SpringBoot 集成 JSP :需要添加 JSP 的依赖 ,JSP 页面使用 JSTL 标签 . 3.SpringBoot 框架集成 JSP 时,打包的格式是war          打包:右键项目 --> Run as --> Maven build...    pom.xml中的打包方式:<packaging>

SpringBoot集成MyBatis的分页插件PageHelper

俗话说:好??不吃回头草,但是在这里我建议不管你是好马还是不好马,都来吃吃,带你复习一下分页插件PageHelper. 昨天给各位总结了本人学习springboot整合mybatis第一阶段的一些学习心得和源码,主要就算是敲了一下SpringBoot的门儿,希望能给各位的入门带给一点儿捷径,今天给各位温习一下MyBatis的分页插件PageHelper和SpringBoot的集成,它的使用也非常简单,开发更为高效.因为PageHelper插件是属于MyBatis框架的,所以相信很多哥们儿都已经用

SpringBoot集成MyBatis的分页插件PageHelper(回头草)

俗话说:好??不吃回头草,但是在这里我建议不管你是好马还是不好马,都来吃吃,带你复习一下分页插件PageHelper. 昨天给各位总结了本人学习springboot整合mybatis第一阶段的一些学习心得和源码,主要就算是敲了一下SpringBoot的门儿,希望能给各位的入门带给一点儿捷径,今天给各位温习一下MyBatis的分页插件PageHelper和SpringBoot的集成,它的使用也非常简单,开发更为高效.因为PageHelper插件是属于MyBatis框架的,所以相信很多哥们儿都已经用