package boot.spring.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import boot.spring.po.Mail;
import boot.spring.po.TopicMail;
import boot.spring.service.impl.ProducerImpl;
import boot.spring.service.impl.PublisherImpl;
@Controller
public class RabbitMQController {
@Autowired
ProducerImpl producer;
@Autowired
PublisherImpl publisher;
@RequestMapping(value="/produce",produces = {"application/json;charset=UTF-8"})
@ResponseBody
public void produce(@ModelAttribute("mail")Mail mail) throws Exception{
producer.sendMail("myqueue",mail);
}
@RequestMapping(value="/topic",produces = {"application/json;charset=UTF-8"})
@ResponseBody
public void topic(@ModelAttribute("mail")Mail mail) throws Exception{
publisher.publishMail(mail);
}
@RequestMapping(value="/direct",produces = {"application/json;charset=UTF-8"})
@ResponseBody
public void direct(@ModelAttribute("mail")TopicMail mail){
Mail m=new Mail(mail.getMailId(),mail.getCountry(),mail.getWeight());
publisher.senddirectMail(m, mail.getRoutingkey());
}
@RequestMapping(value="/mytopic",produces = {"application/json;charset=UTF-8"})
@ResponseBody
public void topic(@ModelAttribute("mail")TopicMail mail){
Mail m=new Mail(mail.getMailId(),mail.getCountry(),mail.getWeight());
publisher.sendtopicMail(m, mail.getRoutingkey());
}
@RequestMapping("demo")
public String demo(){
return "demo";
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
在业务逻辑的异步处理,系统解耦,分布式通信以及控制高并发的场景下,消息队列有着广泛的应用。本项目基于Spring的AMQP模块,整合流行的开源消息队列中间件rabbitMQ,实现一个向rabbitMQ添加和读取消息的功能。并比较了两种模式:生产者-消费者模式和发布-订阅模式的区别。AMQP作为比JMS更加高级的消息协议,支持更多的消息路由和消息模式。
资源推荐
资源详情
资源评论
收起资源包目录
Spring-rabbitMQ-demo.zip (40个子文件)
pom.xml 2KB
src
main
resources
application.properties 236B
templates
demo.html 8KB
static
js
bootstrap.js 64KB
npm.js 484B
bootstrap.min.js 34KB
img
3.png 25KB
1.png 15KB
4.png 26KB
2.png 20KB
css
bootstrap.min.css 111KB
bootstrap-theme.css.map 41KB
bootstrap-theme.css 21KB
bootstrap.css.map 358KB
bootstrap.css 134KB
bootstrap-theme.min.css 19KB
fonts
glyphicons-halflings-regular.svg 61KB
glyphicons-halflings-regular.ttf 40KB
glyphicons-halflings-regular.woff 23KB
glyphicons-halflings-regular.eot 20KB
java
boot
spring
Application.java 292B
controller
RabbitMQController.java 2KB
rabbitMQ
listener
TopicListener1.java 514B
TopicListener2.java 517B
QueueListener2.java 415B
QueueListener1.java 417B
SubscribeListener2.java 439B
DirectListener2.java 432B
DirectListener1.java 432B
SubscribeListener1.java 439B
service
Publisher.java 370B
Producer.java 171B
impl
ProducerImpl.java 618B
PublisherImpl.java 771B
po
Mail.java 941B
TopicMail.java 344B
config
TopicExchangeConfig.java 1KB
DirectExchangeConfig.java 1KB
ProducerConsumerConfig.java 523B
PublishSubscribeConfig.java 1KB
共 40 条
- 1
资源评论
飞翔的佩奇
- 粉丝: 6112
- 资源: 1603
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功