Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Kwan的解忧杂货铺@新空间代码工作室
Rocketmq
提交
e1e2333c
R
Rocketmq
项目概览
Kwan的解忧杂货铺@新空间代码工作室
/
Rocketmq
与 Fork 源项目一致
Fork自
Apache RocketMQ / Rocketmq
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rocketmq
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
未验证
提交
e1e2333c
编写于
5月 25, 2020
作者:
R
rongtong
提交者:
GitHub
5月 25, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #2024 from rushsky518/mqclient
[ISSUE #2025] Refactor MQClientAPIImpl#processSendResponse
上级
5873c76d
24ee6be7
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
49 addition
and
57 deletion
+49
-57
client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java
...java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java
+49
-57
未找到文件。
client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java
浏览文件 @
e1e2333c
...
@@ -643,72 +643,64 @@ public class MQClientAPIImpl {
...
@@ -643,72 +643,64 @@ public class MQClientAPIImpl {
final
Message
msg
,
final
Message
msg
,
final
RemotingCommand
response
final
RemotingCommand
response
)
throws
MQBrokerException
,
RemotingCommandException
{
)
throws
MQBrokerException
,
RemotingCommandException
{
SendStatus
sendStatus
;
switch
(
response
.
getCode
())
{
switch
(
response
.
getCode
())
{
case
ResponseCode
.
FLUSH_DISK_TIMEOUT
:
case
ResponseCode
.
FLUSH_DISK_TIMEOUT
:
{
case
ResponseCode
.
FLUSH_SLAVE_TIMEOUT
:
sendStatus
=
SendStatus
.
FLUSH_DISK_TIMEOUT
;
break
;
}
case
ResponseCode
.
FLUSH_SLAVE_TIMEOUT
:
{
sendStatus
=
SendStatus
.
FLUSH_SLAVE_TIMEOUT
;
break
;
}
case
ResponseCode
.
SLAVE_NOT_AVAILABLE
:
{
case
ResponseCode
.
SLAVE_NOT_AVAILABLE
:
{
sendStatus
=
SendStatus
.
SLAVE_NOT_AVAILABLE
;
break
;
}
}
case
ResponseCode
.
SUCCESS
:
{
case
ResponseCode
.
SUCCESS
:
{
SendStatus
sendStatus
=
SendStatus
.
SEND_OK
;
sendStatus
=
SendStatus
.
SEND_OK
;
switch
(
response
.
getCode
())
{
break
;
case
ResponseCode
.
FLUSH_DISK_TIMEOUT
:
}
sendStatus
=
SendStatus
.
FLUSH_DISK_TIMEOUT
;
default
:
{
break
;
throw
new
MQBrokerException
(
response
.
getCode
(),
response
.
getRemark
());
case
ResponseCode
.
FLUSH_SLAVE_TIMEOUT
:
}
sendStatus
=
SendStatus
.
FLUSH_SLAVE_TIMEOUT
;
}
break
;
case
ResponseCode
.
SLAVE_NOT_AVAILABLE
:
sendStatus
=
SendStatus
.
SLAVE_NOT_AVAILABLE
;
break
;
case
ResponseCode
.
SUCCESS
:
sendStatus
=
SendStatus
.
SEND_OK
;
break
;
default
:
assert
false
;
break
;
}
SendMessageResponseHeader
responseHeader
=
SendMessageResponseHeader
responseHeader
=
(
SendMessageResponseHeader
)
response
.
decodeCommandCustomHeader
(
SendMessageResponseHeader
.
class
);
(
SendMessageResponseHeader
)
response
.
decodeCommandCustomHeader
(
SendMessageResponseHeader
.
class
);
//If namespace not null , reset Topic without namespace.
//If namespace not null , reset Topic without namespace.
String
topic
=
msg
.
getTopic
();
String
topic
=
msg
.
getTopic
();
if
(
StringUtils
.
isNotEmpty
(
this
.
clientConfig
.
getNamespace
()))
{
if
(
StringUtils
.
isNotEmpty
(
this
.
clientConfig
.
getNamespace
()))
{
topic
=
NamespaceUtil
.
withoutNamespace
(
topic
,
this
.
clientConfig
.
getNamespace
());
topic
=
NamespaceUtil
.
withoutNamespace
(
topic
,
this
.
clientConfig
.
getNamespace
());
}
}
MessageQueue
messageQueue
=
new
MessageQueue
(
topic
,
brokerName
,
responseHeader
.
getQueueId
());
MessageQueue
messageQueue
=
new
MessageQueue
(
topic
,
brokerName
,
responseHeader
.
getQueueId
());
String
uniqMsgId
=
MessageClientIDSetter
.
getUniqID
(
msg
);
String
uniqMsgId
=
MessageClientIDSetter
.
getUniqID
(
msg
);
if
(
msg
instanceof
MessageBatch
)
{
if
(
msg
instanceof
MessageBatch
)
{
StringBuilder
sb
=
new
StringBuilder
();
StringBuilder
sb
=
new
StringBuilder
();
for
(
Message
message
:
(
MessageBatch
)
msg
)
{
for
(
Message
message
:
(
MessageBatch
)
msg
)
{
sb
.
append
(
sb
.
length
()
==
0
?
""
:
","
).
append
(
MessageClientIDSetter
.
getUniqID
(
message
));
sb
.
append
(
sb
.
length
()
==
0
?
""
:
","
).
append
(
MessageClientIDSetter
.
getUniqID
(
message
));
}
}
uniqMsgId
=
sb
.
toString
();
uniqMsgId
=
sb
.
toString
();
}
}
SendResult
sendResult
=
new
SendResult
(
sendStatus
,
SendResult
sendResult
=
new
SendResult
(
sendStatus
,
uniqMsgId
,
uniqMsgId
,
responseHeader
.
getMsgId
(),
messageQueue
,
responseHeader
.
getQueueOffset
());
responseHeader
.
getMsgId
(),
messageQueue
,
responseHeader
.
getQueueOffset
());
sendResult
.
setTransactionId
(
responseHeader
.
getTransactionId
());
sendResult
.
setTransactionId
(
responseHeader
.
getTransactionId
());
String
regionId
=
response
.
getExtFields
().
get
(
MessageConst
.
PROPERTY_MSG_REGION
);
String
regionId
=
response
.
getExtFields
().
get
(
MessageConst
.
PROPERTY_MSG_REGION
);
String
traceOn
=
response
.
getExtFields
().
get
(
MessageConst
.
PROPERTY_TRACE_SWITCH
);
String
traceOn
=
response
.
getExtFields
().
get
(
MessageConst
.
PROPERTY_TRACE_SWITCH
);
if
(
regionId
==
null
||
regionId
.
isEmpty
())
{
if
(
regionId
==
null
||
regionId
.
isEmpty
())
{
regionId
=
MixAll
.
DEFAULT_TRACE_REGION_ID
;
regionId
=
MixAll
.
DEFAULT_TRACE_REGION_ID
;
}
}
if
(
traceOn
!=
null
&&
traceOn
.
equals
(
"false"
))
{
if
(
traceOn
!=
null
&&
traceOn
.
equals
(
"false"
))
{
sendResult
.
setTraceOn
(
false
);
sendResult
.
setTraceOn
(
false
);
}
else
{
}
else
{
sendResult
.
setTraceOn
(
true
);
sendResult
.
setTraceOn
(
true
);
}
sendResult
.
setRegionId
(
regionId
);
return
sendResult
;
}
default
:
break
;
}
}
sendResult
.
setRegionId
(
regionId
);
throw
new
MQBrokerException
(
response
.
getCode
(),
response
.
getRemark
())
;
return
sendResult
;
}
}
public
PullResult
pullMessage
(
public
PullResult
pullMessage
(
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录