SpringBoot的Activemq小demo

首先使用maven注入jar包

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

创建一个application.yml配置文件 : 贴上代码

spring:
  activemq:
    broker-url: tcp://192.168.44.129:61616
    user: admin
    password: admin

然后创建一个消息生产者Producer类 : 

/**
 * 消息生产者 
 * SpringBoot会自动配置好JmsMessagingTemplate对象与Queue对象 美滋滋
 */
@Component
public class Producer {

	/*
	 * Jms消息模板
	 */
	@Autowired private JmsMessagingTemplate jmsMessagingTemplate;
	
	/*
	 * 队列
	 */
	@Autowired private Queue queue;
	
	/*
	 * 发送消息
	 */
	public void send(String msg){
		this.jmsMessagingTemplate.convertAndSend(this.queue, msg);
	}
}

然后再创建一个消息接收者 : 

@Component
public class Consumer {
	
    //打上JmsListener监听注解,变成接收一个名称为sample.queue队列里面的信息
	@JmsListener(destination = "sample.queue")
    //然后一旦有消息进入sample.queue队列就会执行该方法,进行操作
	public void receiveMessge(String text){
		System.out.println("----接收消息开始 ----");
		System.out.println("接收的消息内容:\t" + text);
		System.out.println("----接收消息结束 ----");
	}
}

最后让我使用消息队列 : 

//这是SpringBoot的入口类
@SpringBootApplication
@EnableJms
public class Application implements CommandLineRunner {
	
	/*
	 * 声明一个名称为sample.queue的消息队列
	 */
	@Bean
	public Queue queue() {
		return new ActiveMQQueue("sample.queue");
	}
	
	/*
	 * 注入消息生产者
	 */
	@Autowired private Producer Producer;

    //然后开始使用生产者发生消息给接收者
	@Override
	public void run(String... args) throws Exception {
		System.out.println("发送消息开始!!!");
		Producer.send("Hello! SpringBoot integrate Apache ActiveMQ!!!");
		System.out.println("发送消息结束!!!");
	}
	
	public static void main(String[] args) throws Exception {
		SpringApplication.run(Application.class, args);
	}

}

嗯!下次我要写一个厉害的消息队列,循序渐进吧!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值