spring boot 整合activemq
2024-09-05 17:29:44
1 Spring Boot与ActiveMQ整合
1.1使用内嵌服务
(1)在pom.xml中引入ActiveMQ起步依赖
<properties>
<spring.version>2.0.7.RELEASE</spring.version>
</properties> <dependencies>
<!--springmvc-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring.version}</version>
</dependency>
<!--activemq-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
<version>1.5.1.RELEASE</version>
</dependency>
<!--spirngboot热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
(2)创建消息生产者(application 引导类 必须 和要访问的类 在同一级包下) QueueController.java
@RestController
@RequestMapping("/queue")
public class QueueController { @Autowired
private JmsMessagingTemplate jmsMessagingTemplate; @RequestMapping("/send")
public void send(String text){
jmsMessagingTemplate.convertAndSend("code",text);
} }
(3)创建消息消费者 QueueConsumer
@Component
public class QueueConsumer { @JmsListener(destination = "code")
public void readMessage(String text){
System.out.println("接收到的消息 : " + text);
} }
测试:启动服务后,在浏览器执行
http://localhost:8088/send.do?text=aaaaa
即可看到控制台输出消息提示。Spring Boot内置了ActiveMQ的服务,所以我们不用单独启动也可以执行应用程序。
1.2使用外部服务
在src/main/resources下的application.properties增加配置, 指定ActiveMQ的地址
spring.activemq.broker-url=tcp://192.168.25.130:61616 |
application.properties配置
# tomcat服务器端口号
server.port=8080
url=http://www.baidu.com
# activemq地址
spring.activemq.broker-url=tcp://192.168.200.128:61616
运行后,会在activeMQ中看到发送的queue
1.3发送Map信息
(1)向QueueController.java添加代码
@RequestMapping("/sendmap")
public void sendMap(){
Map map = new HashMap();
map.put("name", "曜");
map.put("sex", "男");
map.put("age", "18");
jmsMessagingTemplate.convertAndSend("codemap",map);
}
(2)向Consumer.java添加代码
@JmsListener(destination = "codemap")
public void readMap(Map map){
System.out.println(map);
}
控制台打印
最新文章
- Thinkphp模型问题(一)
- LaunchCharacter
- javascript中的 &;&; 与 || 的运用
- as3 打开窗口类
- C#使用框架,打开新选项卡
- Selenium: 空指针error
- Oracle 数据恢复指导具体解释
- [Kubernetes] CRI 的设计与工作原理
- Android查看appPackage和Activity的多种方法
- pandas绘图
- Linux命令详解----iostat
- 希尔排序算法-python实现
- 对this的理解?
- Filter实现字符集统一设置
- oracle中根据时间获取最新的一条数据
- js得到时间戳(10位数)
- linux 02 基础命令
- Java下用Jackson进行JSON序列化和反序列化(转)
- [SharePoint2010开发入门经典]8集成业务线数据,使用业务联通服务
- ORA-01795: 列表中的最大表达式数为 1000