Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Kwan的解忧杂货铺@新空间代码工作室
Rocketmq
提交
a83cdc5f
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看板
未验证
提交
a83cdc5f
编写于
9月 26, 2021
作者:
G
Git_Yang
提交者:
GitHub
9月 26, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[format] Fix formatting errors (#3380)
Signed-off-by:
N
zhangyang
<
Git_Yang@163.com
>
上级
4dbdbf0a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
94 addition
and
93 deletion
+94
-93
acl/src/main/java/org/apache/rocketmq/acl/common/AclUtils.java
...rc/main/java/org/apache/rocketmq/acl/common/AclUtils.java
+3
-4
example/src/main/java/org/apache/rocketmq/example/simple/PullConsumer.java
...java/org/apache/rocketmq/example/simple/PullConsumer.java
+91
-89
未找到文件。
acl/src/main/java/org/apache/rocketmq/acl/common/AclUtils.java
浏览文件 @
a83cdc5f
...
...
@@ -23,7 +23,6 @@ import java.io.FileNotFoundException;
import
java.io.FileWriter
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
import
java.util.ArrayList
;
import
java.util.Map
;
import
java.util.SortedMap
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -210,9 +209,9 @@ public class AclUtils {
// expand netaddress
int
separatorCount
=
StringUtils
.
countMatches
(
netaddress
,
":"
);
int
padCount
=
part
-
separatorCount
;
if
(
padCount
>
0
)
{
if
(
padCount
>
0
)
{
StringBuilder
padStr
=
new
StringBuilder
(
":"
);
for
(
int
i
=
0
;
i
<
padCount
;
i
++)
{
for
(
int
i
=
0
;
i
<
padCount
;
i
++)
{
padStr
.
append
(
":"
);
}
netaddress
=
StringUtils
.
replace
(
netaddress
,
"::"
,
padStr
.
toString
());
...
...
@@ -221,7 +220,7 @@ public class AclUtils {
// pad netaddress
String
[]
strArray
=
StringUtils
.
splitPreserveAllTokens
(
netaddress
,
":"
);
for
(
int
i
=
0
;
i
<
strArray
.
length
;
i
++)
{
if
(
strArray
[
i
].
length
()
<
4
)
{
if
(
strArray
[
i
].
length
()
<
4
)
{
strArray
[
i
]
=
StringUtils
.
leftPad
(
strArray
[
i
],
4
,
'0'
);
}
}
...
...
example/src/main/java/org/apache/rocketmq/example/simple/PullConsumer.java
浏览文件 @
a83cdc5f
...
...
@@ -36,7 +36,7 @@ import org.apache.rocketmq.remoting.exception.RemotingException;
public
class
PullConsumer
{
public
static
void
main
(
String
[]
args
)
throws
MQClientException
{
DefaultMQPullConsumer
consumer
=
new
DefaultMQPullConsumer
(
"please_rename_unique_group_name_5"
);
consumer
.
setNamesrvAddr
(
"127.0.0.1:9876"
);
Set
<
String
>
topics
=
new
HashSet
<>();
...
...
@@ -46,99 +46,101 @@ public class PullConsumer {
consumer
.
start
();
ExecutorService
executors
=
Executors
.
newFixedThreadPool
(
topics
.
size
(),
new
ThreadFactory
()
{
@Override
public
Thread
newThread
(
Runnable
r
)
{
@Override
public
Thread
newThread
(
Runnable
r
)
{
return
new
Thread
(
r
,
"PullConsumerThread"
);
}
});
for
(
String
topic
:
consumer
.
getRegisterTopics
()){
executors
.
execute
(
new
Runnable
()
{
public
void
doSomething
(
List
<
MessageExt
>
msgs
){
//do you business
System
.
out
.
println
(
msgs
);
}
@Override
public
void
run
()
{
while
(
true
){
try
{
Set
<
MessageQueue
>
messageQueues
=
consumer
.
fetchMessageQueuesInBalance
(
topic
);
if
(
messageQueues
==
null
||
messageQueues
.
isEmpty
()){
Thread
.
sleep
(
1000
);
continue
;
}
PullResult
pullResult
=
null
;
for
(
MessageQueue
messageQueue
:
messageQueues
){
try
{
long
offset
=
this
.
consumeFromOffset
(
messageQueue
);
pullResult
=
consumer
.
pull
(
messageQueue
,
"*"
,
offset
,
32
);
switch
(
pullResult
.
getPullStatus
())
{
case
FOUND:
List
<
MessageExt
>
msgs
=
pullResult
.
getMsgFoundList
();
if
(
msgs
!=
null
&&
!
msgs
.
isEmpty
()){
this
.
doSomething
(
msgs
);
//update offset to broker
consumer
.
updateConsumeOffset
(
messageQueue
,
pullResult
.
getNextBeginOffset
());
//print pull tps
this
.
incPullTPS
(
topic
,
pullResult
.
getMsgFoundList
().
size
());
}
break
;
case
OFFSET_ILLEGAL:
consumer
.
updateConsumeOffset
(
messageQueue
,
pullResult
.
getNextBeginOffset
());
break
;
case
NO_NEW_MSG:
Thread
.
sleep
(
1
);
consumer
.
updateConsumeOffset
(
messageQueue
,
pullResult
.
getNextBeginOffset
());
break
;
case
NO_MATCHED_MSG:
consumer
.
updateConsumeOffset
(
messageQueue
,
pullResult
.
getNextBeginOffset
());
break
;
default
:
}
}
catch
(
RemotingException
e
)
{
e
.
printStackTrace
();
}
catch
(
MQBrokerException
e
)
{
e
.
printStackTrace
();
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
}
}
catch
(
MQClientException
e
)
{
//reblance error
e
.
printStackTrace
();
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
}
}
public
long
consumeFromOffset
(
MessageQueue
messageQueue
)
throws
MQClientException
{
//-1 when started
long
offset
=
consumer
.
getOffsetStore
().
readOffset
(
messageQueue
,
ReadOffsetType
.
READ_FROM_MEMORY
);
if
(
offset
<
0
){
//query from broker
offset
=
consumer
.
getOffsetStore
().
readOffset
(
messageQueue
,
ReadOffsetType
.
READ_FROM_STORE
);
}
if
(
offset
<
0
){
//first time start from last offset
offset
=
consumer
.
maxOffset
(
messageQueue
);
});
for
(
String
topic
:
consumer
.
getRegisterTopics
())
{
executors
.
execute
(
new
Runnable
()
{
public
void
doSomething
(
List
<
MessageExt
>
msgs
)
{
//do you business
}
@Override
public
void
run
()
{
while
(
true
)
{
try
{
Set
<
MessageQueue
>
messageQueues
=
consumer
.
fetchMessageQueuesInBalance
(
topic
);
if
(
messageQueues
==
null
||
messageQueues
.
isEmpty
())
{
Thread
.
sleep
(
1000
);
continue
;
}
PullResult
pullResult
=
null
;
for
(
MessageQueue
messageQueue
:
messageQueues
)
{
try
{
long
offset
=
this
.
consumeFromOffset
(
messageQueue
);
pullResult
=
consumer
.
pull
(
messageQueue
,
"*"
,
offset
,
32
);
switch
(
pullResult
.
getPullStatus
())
{
case
FOUND:
List
<
MessageExt
>
msgs
=
pullResult
.
getMsgFoundList
();
if
(
msgs
!=
null
&&
!
msgs
.
isEmpty
())
{
this
.
doSomething
(
msgs
);
//update offset to broker
consumer
.
updateConsumeOffset
(
messageQueue
,
pullResult
.
getNextBeginOffset
());
//print pull tps
this
.
incPullTPS
(
topic
,
pullResult
.
getMsgFoundList
().
size
());
}
break
;
case
OFFSET_ILLEGAL:
consumer
.
updateConsumeOffset
(
messageQueue
,
pullResult
.
getNextBeginOffset
());
break
;
case
NO_NEW_MSG:
Thread
.
sleep
(
1
);
consumer
.
updateConsumeOffset
(
messageQueue
,
pullResult
.
getNextBeginOffset
());
break
;
case
NO_MATCHED_MSG:
consumer
.
updateConsumeOffset
(
messageQueue
,
pullResult
.
getNextBeginOffset
());
break
;
default
:
}
}
catch
(
RemotingException
e
)
{
e
.
printStackTrace
();
}
catch
(
MQBrokerException
e
)
{
e
.
printStackTrace
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
catch
(
MQClientException
e
)
{
//reblance error
e
.
printStackTrace
();
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
public
long
consumeFromOffset
(
MessageQueue
messageQueue
)
throws
MQClientException
{
//-1 when started
long
offset
=
consumer
.
getOffsetStore
().
readOffset
(
messageQueue
,
ReadOffsetType
.
READ_FROM_MEMORY
);
if
(
offset
<
0
)
{
//query from broker
offset
=
consumer
.
getOffsetStore
().
readOffset
(
messageQueue
,
ReadOffsetType
.
READ_FROM_STORE
);
}
if
(
offset
<
0
)
{
//first time start from last offset
offset
=
consumer
.
maxOffset
(
messageQueue
);
}
//make sure
if
(
offset
<
0
){
offset
=
0
;
if
(
offset
<
0
)
{
offset
=
0
;
}
return
offset
;
}
public
void
incPullTPS
(
String
topic
,
int
pullSize
)
{
consumer
.
getDefaultMQPullConsumerImpl
().
getRebalanceImpl
().
getmQClientFactory
()
.
getConsumerStatsManager
().
incPullTPS
(
consumer
.
getConsumerGroup
(),
topic
,
pullSize
);
}
});
return
offset
;
}
public
void
incPullTPS
(
String
topic
,
int
pullSize
)
{
consumer
.
getDefaultMQPullConsumerImpl
().
getRebalanceImpl
().
getmQClientFactory
()
.
getConsumerStatsManager
().
incPullTPS
(
consumer
.
getConsumerGroup
(),
topic
,
pullSize
);
}
});
}
// executors.shutdown();
// consumer.shutdown();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录