Spring Cloud 实践:ActiveMQ
程序员文章站
2022-04-30 15:49:29
...
本想用RabbitMQ,发现不是Java的,还得多装一个环境,还是用ActiveMQ吧。
依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
application.properties:
spring.activemq.broker-url=tcp://localhost:61616
spring.activemq.user=admin
spring.activemq.password=admin
spring.activemq.in-memory=true
spring.activemq.pool.enabled=false
Producer:
@Component
public class Producer {
@Autowired // 也可以注入JmsTemplate,JmsMessagingTemplate对JmsTemplate进行了封装
private JmsMessagingTemplate jmsTemplate;
// 发送消息,destination是发送到的队列,message是待发送的消息
public void sendMessage(Destination destination, final String message){
jmsTemplate.convertAndSend(destination, message);
}
}
测试:
@RestController
public class DemoController {
@Autowired
private Producer producer;
@GetMapping("/message")
public void send() {
Destination destination = new ActiveMQQueue("mytest.queue");
for(int i=0; i<10; i++){
producer.sendMessage(destination, "new message!!!");
}
}
}
Consumer(可在另一个app):
@Component
public class Consumer {
@JmsListener(destination = "mytest.queue")
public void receiveQueue(String text) {
System.out.println("Consumer receive:"+text);
}
}
推荐阅读
-
Spring Data JPA实践与学习
-
spring cloud 入门系列二:使用Eureka 进行服务治理
-
Spring Cloud Finchley.SR1版本遇到的坑以及解决方案
-
spring cloud 翻译-7. Serving Plain Text
-
在Spring Cloud Config中加密git到远程数据库中信息
-
将Spring Boot应用程序绑定到Cloud Foundry中的服务的方法
-
Spring Cloud分布式微服务实战,养成应对复杂业务的综合技术能力
-
浅谈如何在项目中使用Spring Cloud Alibaba Sentinel组件
-
Spring Cloud OAuth2中/oauth/token的返回内容格式
-
spring cloud config和bus组件实现自动刷新功能