1、RabbitMQ安装
Mac下前提是homebrew已安装
brew update
brew install rabbitmq
安装完成后将下面这两行加到~/.bash_profile:
# RabbitMQ Config
export PATH=$PATH:/usr/local/sbin
编辑完后:wq保存退出,使环境变量立即生效。
source ~/.bash_profile
输入下面命令即可启动RabbitMQ服务:
rabbitmq-server
浏览器输入localhost:15672
,账号密码全输入guest即可登录。
2、添加RabbitMQ依赖
#rabbimq的配置信息
spring.rabbitmq.host=127.0.0.1
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.publisher-confirms=true
spring.rabbitmq.virtual-host=/
3、新建Config
@Configuration
public class RabbitConfig {
@Bean
public Queue Queue() {
return new Queue("helloQueue");
}
}
4、新建生产者和消费者
@Component
public class HelloSender {
@Autowired
private AmqpTemplate rabbitTemplate;
public void send(String sendMsg) {
System.out.println("Sender: " + sendMsg);
this.rabbitTemplate.convertAndSend("helloQueue", sendMsg);
}
}
@Component
@RabbitListener(queues = "helloQueue")
public class HelloReceiver {
@RabbitHandler
public void process(String msg) {
System.out.println("Receiver: " + msg);
}
}
5、Controller
@RestController
public class RabbitTestController {
@Autowired
HelloSender helloSender;
@RequestMapping("msg")
//返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用
@ResponseBody
public String index() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
String date = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳
String sendMsg = "Message Send:" + date;
helloSender.send(sendMsg);
return sendMsg;
}
}
6、启动
启动后如果报错,请到http://localhost:15672/中add a new queue
queueName添加helloQueue即可
7、效果