Spring Boot与ActiveMQ整合

1、使用内嵌服务

    (1)pom.xml中引入ActiveMQ起步依赖   

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-activemq</artifactId>
</dependency>

    (2)创建消息生产者

    
/**
 * 消息生产者
 * @author Administrator
 */
@RestController
public class QueueController {
	@Autowired
	private JmsMessagingTemplate jmsMessagingTemplate;

	@RequestMapping("/send")
	public void send(String text){
		jmsMessagingTemplate.convertAndSend("newbie", text);
	}
}

    (3)创建消息消费者

        
@Component
public class Consumer {
	@JmsListener(destination="newbie")
	public void readMessage(String text){
		System.out.println("接收到消息:"+text);
	}	
}

    测试:启动服务后,在浏览器执行 
    http://localhost:8088/send.do?text=aaaaa
    即可看到控制台输出消息提示。Spring Boot内置了ActiveMQ的服务,所以我们不用单独启动也可以执行应用程序。

2、使用外部服务    

    在src/main/resources下的application.properties增加配置, 指定ActiveMQ的地址

spring.activemq.broker-url=tcp://192.168.25.135:61616

    运行后,会在activeMQ中看到发送的queue

    

  2.1、发送Map消息

    (1)修改QueueController.java        

	@RequestMapping("/sendmap")
	public void sendMap(){
		Map map=new HashMap<>();
		map.put("mobile", "13900001111");
		map.put("content", "恭喜获得10元代金券");		
		jmsMessagingTemplate.convertAndSend("newbie_map",map);
	}

  (2)修改Consumer.java   

	@JmsListener(destination="newbie_map")
	public void readMap(Map map){
		System.out.println(map);		
	}





    

猜你喜欢

转载自blog.csdn.net/qq_31784189/article/details/80936631