首先使用maven注入jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
创建一个application.yml配置文件 : 贴上代码
spring:
activemq:
broker-url: tcp://192.168.44.129:61616
user: admin
password: admin
然后创建一个消息生产者Producer类 :
/**
* 消息生产者
* SpringBoot会自动配置好JmsMessagingTemplate对象与Queue对象 美滋滋
*/
@Component
public class Producer {
/*
* Jms消息模板
*/
@Autowired private JmsMessagingTemplate jmsMessagingTemplate;
/*
* 队列
*/
@Autowired private Queue queue;
/*
* 发送消息
*/
public void send(String msg){
this.jmsMessagingTemplate.convertAndSend(this.queue, msg);
}
}
然后再创建一个消息接收者 :
@Component
public class Consumer {
//打上JmsListener监听注解,变成接收一个名称为sample.queue队列里面的信息
@JmsListener(destination = "sample.queue")
//然后一旦有消息进入sample.queue队列就会执行该方法,进行操作
public void receiveMessge(String text){
System.out.println("----接收消息开始 ----");
System.out.println("接收的消息内容:\t" + text);
System.out.println("----接收消息结束 ----");
}
}
最后让我使用消息队列 :
//这是SpringBoot的入口类
@SpringBootApplication
@EnableJms
public class Application implements CommandLineRunner {
/*
* 声明一个名称为sample.queue的消息队列
*/
@Bean
public Queue queue() {
return new ActiveMQQueue("sample.queue");
}
/*
* 注入消息生产者
*/
@Autowired private Producer Producer;
//然后开始使用生产者发生消息给接收者
@Override
public void run(String... args) throws Exception {
System.out.println("发送消息开始!!!");
Producer.send("Hello! SpringBoot integrate Apache ActiveMQ!!!");
System.out.println("发送消息结束!!!");
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
嗯!下次我要写一个厉害的消息队列,循序渐进吧!!!