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);
}

http://localhost:8088/sendmap

控制台打印

最新文章

  1. Thinkphp模型问题(一)
  2. LaunchCharacter
  3. javascript中的 &amp;&amp; 与 || 的运用
  4. as3 打开窗口类
  5. C#使用框架,打开新选项卡
  6. Selenium: 空指针error
  7. Oracle 数据恢复指导具体解释
  8. [Kubernetes] CRI 的设计与工作原理
  9. Android查看appPackage和Activity的多种方法
  10. pandas绘图
  11. Linux命令详解----iostat
  12. 希尔排序算法-python实现
  13. 对this的理解?
  14. Filter实现字符集统一设置
  15. oracle中根据时间获取最新的一条数据
  16. js得到时间戳(10位数)
  17. linux 02 基础命令
  18. Java下用Jackson进行JSON序列化和反序列化(转)
  19. [SharePoint2010开发入门经典]8集成业务线数据,使用业务联通服务
  20. ORA-01795: 列表中的最大表达式数为 1000

热门文章

  1. javaScript中的 this
  2. 12.python csv文件写入和读出
  3. weblogic 10c and 12c 打补丁
  4. vue学习-day05 -- 案例:名字合并(监听data数据的改变)
  5. 【知识】定时器setTimeout/setInterval执行时this指针指向问题
  6. [C++基础] 纯虚函数
  7. android sp文件一个键值保存多条信息
  8. layui select动态添加option
  9. 实现mypwd(选做)
  10. LinkedList Stack