Spring-boot项目整合Activemq实现订阅发布模式

简介: Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。

1.在项目POM中配置

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-activemq</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-pool</artifactId>
        </dependency>

2.在application.properties中配置

spring.jms.pub-sub-domain = true
spring.activemq.user = admin
spring.activemq.password = admin
spring.activemq.in-memory=true
spring.activemq.pool.enabled=false
spring.activemq.pool.maxConnections = 50
spring.activemq.pool.idleTimeout = 30000
spring.activemq.packages.trust-all = true
spring.activemq.broker-url = tcp://127.0.0.1:61616

3.配置Activemq发送消息类


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.stereotype.Component;

import javax.jms.Queue;

@Component
public class JMSProducer {

    @Autowired
    private JmsMessagingTemplate jmsMessagingTemplate;
    @Autowired
    private Queue queue;

    public void sendMessage( String message) {
        this.jmsMessagingTemplate.convertAndSend(queue, message);
    }
}

4.在配置发送消息的业务对象中添加jmsProducer消息发送对象

    @Autowired
    private JMSProducer jmsProducer;

5.使用jmsProducer消息发送对象

                        jmsProducer.sendMessage("hello word");

6.在另一个服务中实现消息消费


@Component
public class Consumer {
 
    @JmsListener(destination = "demo.test")
    public void receiveQueue(String text) {
        System.out.println(text);
    }
}

7.在SpringBootApplication对象中添加

@EnableJms //配置在对象上面
//配置在对象内进行注入
@Bean 
    public Queue queue() {
        return new ActiveMQQueue("huobi.kline.k");
    }

8.以上配置都属于初步在项目中整合Activemq,后期会提供更加深入都优化解析配置。

相关文章
|
1月前
|
Java Spring
【编程笔记】在 Spring 项目中使用 RestTemplate 发送网络请求
【编程笔记】在 Spring 项目中使用 RestTemplate 发送网络请求
94 0
|
2月前
|
缓存 NoSQL Java
Spring Boot项目中热点场景详解(万字总结)
Spring Boot项目中热点场景详解(万字总结)
|
3月前
|
监控 安全 Java
Java(spring cloud)智慧工地(项目层+工地层+APP)源码
智慧工地提供工地智能管理服务,打通数据壁垒,互通管理中心各平台。实现:“可视”、“可控”、“可管”。智慧工地管理云平台是一种利用人工智能和物联网技术来监测和管理建筑工地的系统。它可以通过感知设备、数据处理和分析、智能控制等技术手段,实现对工地施工、设备状态、人员安全等方面的实时监控和管理。
31 1
|
3月前
|
Java 测试技术 Maven
Spring Boot项目打包配置详解
Spring Boot项目打包配置详解
84 0
|
4月前
|
Java Maven Spring
【Spring】Maven项目的创建
【Spring】Maven项目的创建
|
3月前
|
Java Spring 容器
springcloud项目中指定扫描路径
springcloud项目中指定扫描路径
61 7
|
1月前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
151 0
|
2月前
|
监控 IDE Java
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
44 0
|
3月前
|
前端开发 安全 Java
Spring Boot项目中VO层设计:选择继承或组合的灵活实践
Spring Boot项目中VO层设计:选择继承或组合的灵活实践
104 0
|
13天前
|
JSON 前端开发 Java
统一异常处理:让Spring Boot项目异常更优雅
统一异常处理:让Spring Boot项目异常更优雅
24 1