Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Apache RocketMQ
Rocketmq
提交
6aabf776
R
Rocketmq
项目概览
Apache RocketMQ
/
Rocketmq
上一次同步 大约 3 年
通知
267
Star
16139
Fork
68
代码
文件
提交
分支
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看板
未验证
提交
6aabf776
编写于
7月 16, 2021
作者:
H
Heng Du
提交者:
GitHub
7月 16, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #3047 from qingjiyuji/develop
[ISSUE #3046]:Polish lite pull consumer code style
上级
36333ced
893e8fd8
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
21 addition
and
15 deletion
+21
-15
client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultLitePullConsumerImpl.java
...tmq/client/impl/consumer/DefaultLitePullConsumerImpl.java
+21
-15
未找到文件。
client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultLitePullConsumerImpl.java
浏览文件 @
6aabf776
...
@@ -100,7 +100,7 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
...
@@ -100,7 +100,7 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
private
static
final
String
NOT_RUNNING_EXCEPTION_MESSAGE
=
"The consumer not running, please start it first."
;
private
static
final
String
NOT_RUNNING_EXCEPTION_MESSAGE
=
"The consumer not running, please start it first."
;
private
static
final
String
SUBSCRIPTION_CONF
IL
CT_EXCEPTION_MESSAGE
=
"Subscribe and assign are mutually exclusive."
;
private
static
final
String
SUBSCRIPTION_CONF
LI
CT_EXCEPTION_MESSAGE
=
"Subscribe and assign are mutually exclusive."
;
/**
/**
* the type of subscription
* the type of subscription
*/
*/
...
@@ -195,19 +195,21 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
...
@@ -195,19 +195,21 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
}
}
private
void
checkServiceState
()
{
private
void
checkServiceState
()
{
if
(
this
.
serviceState
!=
ServiceState
.
RUNNING
)
if
(
this
.
serviceState
!=
ServiceState
.
RUNNING
)
{
throw
new
IllegalStateException
(
NOT_RUNNING_EXCEPTION_MESSAGE
);
throw
new
IllegalStateException
(
NOT_RUNNING_EXCEPTION_MESSAGE
);
}
}
}
public
void
updateNameServerAddr
(
String
newAddresses
)
{
public
void
updateNameServerAddr
(
String
newAddresses
)
{
this
.
mQClientFactory
.
getMQClientAPIImpl
().
updateNameServerAddressList
(
newAddresses
);
this
.
mQClientFactory
.
getMQClientAPIImpl
().
updateNameServerAddressList
(
newAddresses
);
}
}
private
synchronized
void
setSubscriptionType
(
SubscriptionType
type
)
{
private
synchronized
void
setSubscriptionType
(
SubscriptionType
type
)
{
if
(
this
.
subscriptionType
==
SubscriptionType
.
NONE
)
if
(
this
.
subscriptionType
==
SubscriptionType
.
NONE
)
{
this
.
subscriptionType
=
type
;
this
.
subscriptionType
=
type
;
else
if
(
this
.
subscriptionType
!=
type
)
}
else
if
(
this
.
subscriptionType
!=
type
)
{
throw
new
IllegalStateException
(
SUBSCRIPTION_CONFILCT_EXCEPTION_MESSAGE
);
throw
new
IllegalStateException
(
SUBSCRIPTION_CONFLICT_EXCEPTION_MESSAGE
);
}
}
}
private
void
updateAssignedMessageQueue
(
String
topic
,
Set
<
MessageQueue
>
assignedMessageQueue
)
{
private
void
updateAssignedMessageQueue
(
String
topic
,
Set
<
MessageQueue
>
assignedMessageQueue
)
{
...
@@ -464,7 +466,7 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
...
@@ -464,7 +466,7 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
public
synchronized
void
subscribe
(
String
topic
,
String
subExpression
)
throws
MQClientException
{
public
synchronized
void
subscribe
(
String
topic
,
String
subExpression
)
throws
MQClientException
{
try
{
try
{
if
(
topic
==
null
||
topic
.
equals
(
""
))
{
if
(
topic
==
null
||
""
.
equals
(
topic
))
{
throw
new
IllegalArgumentException
(
"Topic can not be null or empty."
);
throw
new
IllegalArgumentException
(
"Topic can not be null or empty."
);
}
}
setSubscriptionType
(
SubscriptionType
.
SUBSCRIBE
);
setSubscriptionType
(
SubscriptionType
.
SUBSCRIBE
);
...
@@ -483,7 +485,7 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
...
@@ -483,7 +485,7 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
public
synchronized
void
subscribe
(
String
topic
,
MessageSelector
messageSelector
)
throws
MQClientException
{
public
synchronized
void
subscribe
(
String
topic
,
MessageSelector
messageSelector
)
throws
MQClientException
{
try
{
try
{
if
(
topic
==
null
||
topic
.
equals
(
""
))
{
if
(
topic
==
null
||
""
.
equals
(
topic
))
{
throw
new
IllegalArgumentException
(
"Topic can not be null or empty."
);
throw
new
IllegalArgumentException
(
"Topic can not be null or empty."
);
}
}
setSubscriptionType
(
SubscriptionType
.
SUBSCRIBE
);
setSubscriptionType
(
SubscriptionType
.
SUBSCRIBE
);
...
@@ -533,8 +535,9 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
...
@@ -533,8 +535,9 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
public
synchronized
List
<
MessageExt
>
poll
(
long
timeout
)
{
public
synchronized
List
<
MessageExt
>
poll
(
long
timeout
)
{
try
{
try
{
checkServiceState
();
checkServiceState
();
if
(
timeout
<
0
)
if
(
timeout
<
0
)
{
throw
new
IllegalArgumentException
(
"Timeout must not be negative"
);
throw
new
IllegalArgumentException
(
"Timeout must not be negative"
);
}
if
(
defaultLitePullConsumer
.
isAutoCommit
())
{
if
(
defaultLitePullConsumer
.
isAutoCommit
())
{
maybeAutoCommit
();
maybeAutoCommit
();
...
@@ -546,10 +549,11 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
...
@@ -546,10 +549,11 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
if
(
endTime
-
System
.
currentTimeMillis
()
>
0
)
{
if
(
endTime
-
System
.
currentTimeMillis
()
>
0
)
{
while
(
consumeRequest
!=
null
&&
consumeRequest
.
getProcessQueue
().
isDropped
())
{
while
(
consumeRequest
!=
null
&&
consumeRequest
.
getProcessQueue
().
isDropped
())
{
consumeRequest
=
consumeRequestCache
.
poll
(
endTime
-
System
.
currentTimeMillis
(),
TimeUnit
.
MILLISECONDS
);
consumeRequest
=
consumeRequestCache
.
poll
(
endTime
-
System
.
currentTimeMillis
(),
TimeUnit
.
MILLISECONDS
);
if
(
endTime
-
System
.
currentTimeMillis
()
<=
0
)
if
(
endTime
-
System
.
currentTimeMillis
()
<=
0
)
{
break
;
break
;
}
}
}
}
}
if
(
consumeRequest
!=
null
&&
!
consumeRequest
.
getProcessQueue
().
isDropped
())
{
if
(
consumeRequest
!=
null
&&
!
consumeRequest
.
getProcessQueue
().
isDropped
())
{
List
<
MessageExt
>
messages
=
consumeRequest
.
getMessageExts
();
List
<
MessageExt
>
messages
=
consumeRequest
.
getMessageExts
();
...
@@ -671,8 +675,9 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
...
@@ -671,8 +675,9 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
public
long
committed
(
MessageQueue
messageQueue
)
throws
MQClientException
{
public
long
committed
(
MessageQueue
messageQueue
)
throws
MQClientException
{
checkServiceState
();
checkServiceState
();
long
offset
=
this
.
offsetStore
.
readOffset
(
messageQueue
,
ReadOffsetType
.
MEMORY_FIRST_THEN_STORE
);
long
offset
=
this
.
offsetStore
.
readOffset
(
messageQueue
,
ReadOffsetType
.
MEMORY_FIRST_THEN_STORE
);
if
(
offset
==
-
2
)
if
(
offset
==
-
2
)
{
throw
new
MQClientException
(
"Fetch consume offset from broker exception"
,
null
);
throw
new
MQClientException
(
"Fetch consume offset from broker exception"
,
null
);
}
return
offset
;
return
offset
;
}
}
...
@@ -683,10 +688,11 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
...
@@ -683,10 +688,11 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
}
}
Iterator
<
ConsumeRequest
>
iter
=
consumeRequestCache
.
iterator
();
Iterator
<
ConsumeRequest
>
iter
=
consumeRequestCache
.
iterator
();
while
(
iter
.
hasNext
())
{
while
(
iter
.
hasNext
())
{
if
(
iter
.
next
().
getMessageQueue
().
equals
(
messageQueue
))
if
(
iter
.
next
().
getMessageQueue
().
equals
(
messageQueue
))
{
iter
.
remove
();
iter
.
remove
();
}
}
}
}
}
private
long
nextPullOffset
(
MessageQueue
messageQueue
)
throws
MQClientException
{
private
long
nextPullOffset
(
MessageQueue
messageQueue
)
throws
MQClientException
{
long
offset
=
-
1
;
long
offset
=
-
1
;
...
@@ -735,10 +741,11 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
...
@@ -735,10 +741,11 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
return
;
return
;
}
}
if
(
consumeRequestCache
.
size
()
*
defaultLitePullConsumer
.
getPullBatchSize
()
>
defaultLitePullConsumer
.
getPullThresholdForAll
())
{
if
(
(
long
)
consumeRequestCache
.
size
()
*
defaultLitePullConsumer
.
getPullBatchSize
()
>
defaultLitePullConsumer
.
getPullThresholdForAll
())
{
scheduledThreadPoolExecutor
.
schedule
(
this
,
PULL_TIME_DELAY_MILLS_WHEN_FLOW_CONTROL
,
TimeUnit
.
MILLISECONDS
);
scheduledThreadPoolExecutor
.
schedule
(
this
,
PULL_TIME_DELAY_MILLS_WHEN_FLOW_CONTROL
,
TimeUnit
.
MILLISECONDS
);
if
((
consumeRequestFlowControlTimes
++
%
1000
)
==
0
)
if
((
consumeRequestFlowControlTimes
++
%
1000
)
==
0
)
{
log
.
warn
(
"The consume request count exceeds threshold {}, so do flow control, consume request count={}, flowControlTimes={}"
,
consumeRequestCache
.
size
(),
consumeRequestFlowControlTimes
);
log
.
warn
(
"The consume request count exceeds threshold {}, so do flow control, consume request count={}, flowControlTimes={}"
,
consumeRequestCache
.
size
(),
consumeRequestFlowControlTimes
);
}
return
;
return
;
}
}
...
@@ -790,11 +797,10 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
...
@@ -790,11 +797,10 @@ public class DefaultLitePullConsumerImpl implements MQConsumerInner {
long
pullDelayTimeMills
=
0
;
long
pullDelayTimeMills
=
0
;
try
{
try
{
SubscriptionData
subscriptionData
;
SubscriptionData
subscriptionData
;
if
(
subscriptionType
==
SubscriptionType
.
SUBSCRIBE
)
{
String
topic
=
this
.
messageQueue
.
getTopic
();
String
topic
=
this
.
messageQueue
.
getTopic
();
if
(
subscriptionType
==
SubscriptionType
.
SUBSCRIBE
)
{
subscriptionData
=
rebalanceImpl
.
getSubscriptionInner
().
get
(
topic
);
subscriptionData
=
rebalanceImpl
.
getSubscriptionInner
().
get
(
topic
);
}
else
{
}
else
{
String
topic
=
this
.
messageQueue
.
getTopic
();
subscriptionData
=
FilterAPI
.
buildSubscriptionData
(
topic
,
SubscriptionData
.
SUB_ALL
);
subscriptionData
=
FilterAPI
.
buildSubscriptionData
(
topic
,
SubscriptionData
.
SUB_ALL
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录