Springboot Activemq整合过程代码图解

网友投稿 269 2022-12-13


Springboot Activemq整合过程代码图解

这篇文章主要介绍了Springboot Activemq整合过程代码图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Springboot+Activemq整合

1 导入整合所需要的依赖:

org.springframework.boot

spring-boot-starter-activemq

2 创建application.properties文件

spring.activemq.broker-url=tcp://127.0.0.1:61616

spring.activemq.user=admin

spring.activemq.password=admin

server.port=8080

queue=myqueue

3.自定义配置文件QueueConfig 读取配置文件的队列名,根据队列名字创建一个Queue

package com.example.demo;

import javax.jms.Queue;

import org.apache.activemq.ActiveMQConnectionFactory;

import org.apache.activemq.command.ActiveMQQueue;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.jms.config.DefaultJmsListenerContainerFactory;

import org.springframework.jms.core.JmsTemplate;

@Configuration

public class QueueConfig {

@Value("${queue}")

private String queue;

@Bean

public Queue logQueue() {

return new ActiveMQQueue(queue);

}}

4.创建生产者,可以直接使用提供的模板JmsMessagingTemplate 进行消息的发送:

package com.example.demo.producter;

import javax.jms.Queue;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.jms.core.JmsMessagingTemplate;

import org.springframework.stereotype.Component;

import com.example.demo.SpringbootActivemqApplication;

@Component

public class Producter {

@Autowired

private JmsMessagingTemplate jmsMessagingTemplate;

@Autowired

private Queue queue;

private static Logger logger = LoggerFactory.getLogger(

Producter

.class); public void send() { String str = "生产者生产数据:" + System.currentTimeMillis(); jmsMessagingTemplate.convertAndSend(queue, str); logger.info("生产者数据:{}", str); } }

5.启动类:

package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.context.ApplicationListener;

import org.springframework.context.event.ContextRefreshedEvent;

import org.springframework.scheduling.annotation.EnableScheduling;

import com.example.demo.producter.Producter;

import com.example.demo.producter.consumer.Consumer;

@SpringBootApplication

@EnableScheduling

public class SpringbootActivemqApplication implements ApplicationListener {

@Autowired

public Producter producter;

@Autowired

public Consumer consumer;

public static void main(String[] args) {

SpringApplication.run(SpringbootActivemqApplication.class, args);

//onApplicationEvent方法 在启动springboot的时候 会运行该方法,可根据项目实际情况 选择合适调用消息发送方法

}

@Override

public void onApplicationEvent(ContextRefreshedEvent event) {

producter.send();

}

}

6.启动项目,控制台输出内容:

7.创建消费者,创建消费者比较容易,只需要监听队列就可以:

package com.example.demo.producter.consumer;

import org.springframework.jms.annotation.JmsListener;

import org.springframework.stereotype.Component;

@Component

public class Consumer {

@JmsListener(destination = "${queue}")

public void receive(String msg) {

System.out.println("监听器收到msg:" + msg);

}

}

8.最后结果:


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java实现基因序列比较的示例代码
下一篇:JavaWeb BeanUtils信息类原理详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~