MQ 的作用:异步,解耦,削峰
本地安装activeMQ 参考【https://www.cnblogs.com/cocoxu1992/p/10617468.html】
pom文件:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
application.properties
spring.activemq.broker-url=tcp://192.168.1.21:61616
server.port=9099
配置类【用于指定队列,并在应用启动的时候生成相应的队列】
@Configuration
public class QueueConfig {
@Bean
public Queue testQueue() {
return new ActiveMQQueue("test-queue");
}
}
接受者【监听队列,当队列有消息是执行对应的方法】
@Component
public class QueueService {
@JmsListener(destination = "test-queue")
public void receiveStartQueue(String msg) {
System.out.println(msg);
}
}
Controller:【项指定名字的队列发送消息】
@RestController
public class QueueTestController {
@Autowired
Queue testQueue;
@Autowired
JmsMessagingTemplate jmsMessagingTemplate;
@RequestMapping("send")
public void send(String name) {
jmsMessagingTemplate.convertAndSend(zswQueue, name);
}
}
启动类
@SpringBootApplication
@EnableJms
public class TestActivemqProviderApplication {
public static void main(String[] args) {
SpringApplication.run(TestActivemqProviderApplication.class, args);
}
}
执行结果