Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
老丢丢
SpringBoot2Demo
提交
6aac903e
S
SpringBoot2Demo
项目概览
老丢丢
/
SpringBoot2Demo
通知
3
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SpringBoot2Demo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6aac903e
编写于
11月 17, 2020
作者:
老丢丢
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新
上级
aae56926
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
56 addition
and
19 deletion
+56
-19
integrate-mq/src/main/java/com/pannk/listener/DirectReceiveListener.java
...c/main/java/com/pannk/listener/DirectReceiveListener.java
+6
-3
integrate-mq/src/main/java/com/pannk/listener/DirectRecevicer2Listener.java
...ain/java/com/pannk/listener/DirectRecevicer2Listener.java
+7
-4
integrate-mq/src/main/java/com/pannk/listener/FanoutReceiveListener.java
...c/main/java/com/pannk/listener/FanoutReceiveListener.java
+3
-1
integrate-mq/src/main/java/com/pannk/listener/TopicReceiveListener.java
...rc/main/java/com/pannk/listener/TopicReceiveListener.java
+4
-2
integrate-mq/src/main/java/com/pannk/service/impl/SendMessageServiceImpl.java
...n/java/com/pannk/service/impl/SendMessageServiceImpl.java
+5
-1
integrate-mq/src/main/resources/application.yml
integrate-mq/src/main/resources/application.yml
+8
-8
integrate-mq/src/main/resources/note
integrate-mq/src/main/resources/note
+23
-0
未找到文件。
integrate-mq/src/main/java/com/pannk/listener/DirectReceiveListener.java
浏览文件 @
6aac903e
...
...
@@ -5,18 +5,21 @@ import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.stereotype.Component
;
import
static
com
.
pannk
.
cons
.
Constant
.
DIRECT_QUEUE
;
/**
* 直连消费
* Created by wolf on 20-11-17.
*
* @author wolf
* @date 20-11-17
*/
@Component
@RabbitListener
(
queues
=
{
"TEST_DIRECT_QUEUE"
})
@RabbitListener
(
queues
=
{
DIRECT_QUEUE
})
public
class
DirectReceiveListener
{
@RabbitHandler
public
void
handler
(
MessageEntity
messageEntity
)
{
System
.
out
.
println
(
"===================="
);
System
.
out
.
println
(
"Receive message "
+
messageEntity
.
getId
()
+
","
+
messageEntity
.
getCode
()
+
","
+
messageEntity
.
getContent
());
}
...
...
integrate-mq/src/main/java/com/pannk/listener/DirectRecevicer2Listener.java
浏览文件 @
6aac903e
...
...
@@ -5,18 +5,21 @@ import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.stereotype.Component
;
import
static
com
.
pannk
.
cons
.
Constant
.
DIRECT_QUEUE
;
/**
* 直连消费
* Created by wolf on 20-11-17.
*
* @author wolf
* @date 20-11-17
*/
@Component
//
@Component
public
class
DirectRecevicer2Listener
{
@RabbitListener
(
queues
=
{
"TEST_DIRECT_QUEUE"
})
@RabbitListener
(
queues
=
{
DIRECT_QUEUE
})
@RabbitHandler
public
void
process
(
MessageEntity
messageEntity
)
{
System
.
out
.
println
(
"**************"
);
System
.
out
.
println
(
"Other process id "
+
messageEntity
.
getId
()
+
", code "
+
messageEntity
.
getCode
()
+
", content "
+
messageEntity
.
getContent
());
}
}
integrate-mq/src/main/java/com/pannk/listener/FanoutReceiveListener.java
浏览文件 @
6aac903e
...
...
@@ -7,7 +7,9 @@ import org.springframework.stereotype.Component;
/**
* 广播消费
* Created by wolf on 20-11-17.
*
* @author wolf
* @date 20-11-17
*/
@Component
public
class
FanoutReceiveListener
{
...
...
integrate-mq/src/main/java/com/pannk/listener/TopicReceiveListener.java
浏览文件 @
6aac903e
...
...
@@ -8,9 +8,11 @@ import org.springframework.stereotype.Component;
/**
* 主题消费
* Created by wolf on 20-11-17.
*
* @author wolf
* @date 20-11-17
*/
@Component
//
@Component
public
class
TopicReceiveListener
{
/**
...
...
integrate-mq/src/main/java/com/pannk/service/impl/SendMessageServiceImpl.java
浏览文件 @
6aac903e
...
...
@@ -23,6 +23,10 @@ public class SendMessageServiceImpl implements SendMessageService {
@Autowired
private
RabbitTemplate
rabbitTemplate
;
// @Autowired
// private AmqpTemplate amqpTemplate;
@Override
public
void
sendTopicMsg
(
String
content
)
{
if
(!
StringUtils
.
isEmpty
(
content
))
{
...
...
@@ -63,6 +67,6 @@ public class SendMessageServiceImpl implements SendMessageService {
messageEntity
.
setContent
(
content
);
messageEntity
.
setSource
(
"测试Direct队列数据"
);
messageEntity
.
setTime
(
new
Date
());
rabbitTemplate
.
convertAndSend
(
""
,
messageEntity
);
rabbitTemplate
.
convertAndSend
(
Constant
.
DIRECT_QUEUE
,
messageEntity
);
}
}
integrate-mq/src/main/resources/application.yml
浏览文件 @
6aac903e
...
...
@@ -7,11 +7,11 @@ spring:
password
:
guest
port
:
5672
virtual-host
:
/
publisher-confirm-type
:
correlated
#确认消息已发送到队列(Queue)
publisher-returns
:
true
listener
:
direct
:
acknowledge-mode
:
manual
simple
:
acknowledge-mode
:
manual
\ No newline at end of file
# publisher-confirm-type: correlated
# #确认消息已发送到队列(Queue)
# publisher-returns: true
# listener:
# direct:
# acknowledge-mode: manual
# simple:
# acknowledge-mode: manual
\ No newline at end of file
integrate-mq/src/main/resources/note
0 → 100644
浏览文件 @
6aac903e
一、MQ是什么?
Message Queue
MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦,异步消息,
流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性架构。
组成:
Broker
消息服务器,作为server提供消息核心服务
Producer
消息生产者,业务的发起方,负责生产消息传输给broker,
Consumer
消息消费者,业务的处理方,负责从broker获取消息并进行业务逻辑处理
Topic
主题,发布订阅模式下的消息统一汇集地,不同生产者向topic发送消息,由MQ服务器分发到不同的订阅者,实现消息的 广播
Queue
队列,PTP模式下,特定生产者向特定queue发送消息,消费者订阅特定的queue完成指定消息的接收
Message
消息体,根据不同通信协议定义的固定格式进行编码的数据包,来封装业务数据,实现消息的传输
模式:
点对点、发布/订阅
二、使用场景
异步通信、系统解耦、流量削峰
三、产品
RabbitMQ、ActiveMQ、RocketMQ、ZeroMQ、Kafka、IBM WebSphere
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录