Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
武汉红喜
whatsmars
提交
f6300c09
W
whatsmars
项目概览
武汉红喜
/
whatsmars
通知
3
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
whatsmars
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f6300c09
编写于
12月 13, 2018
作者:
武汉红喜
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
RocketMQTemplate优化
上级
900f58ce
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
36 addition
and
28 deletion
+36
-28
whatsmars-mq/whatsmars-mq-sdk/src/main/java/org/hongxi/whatsmars/common/rocketmq/RocketMQTemplate.java
...rg/hongxi/whatsmars/common/rocketmq/RocketMQTemplate.java
+33
-20
whatsmars-mq/whatsmars-mq-sdk/src/test/java/org/hongxi/whatsmars/common/rocketmq/RocketMQTest.java
...va/org/hongxi/whatsmars/common/rocketmq/RocketMQTest.java
+2
-7
whatsmars-mq/whatsmars-otter-extend/src/main/java/org/hongxi/whatsmars/otter/extend/MQEventProcessor.java
...a/org/hongxi/whatsmars/otter/extend/MQEventProcessor.java
+1
-1
未找到文件。
whatsmars-mq/whatsmars-mq-sdk/src/main/java/org/hongxi/whatsmars/common/rocketmq/RocketMQTemplate.java
浏览文件 @
f6300c09
...
...
@@ -21,23 +21,27 @@ public class RocketMQTemplate {
private
static
final
InternalLogger
log
=
ClientLogger
.
getLog
();
private
static
final
String
DEFAULT_PRODUCER_GROUP
=
"common-producer"
;
private
static
final
String
DEFAULT_PRODUCER_GROUP
=
"default-producer"
;
private
static
final
int
DEFAULT_QUEUE_NUM
=
4
;
private
static
final
int
DEFAULT_SEND_MSG_TIMEOUT
=
3000
;
private
static
Map
<
String
,
DefaultMQProducer
>
producerMap
=
new
HashMap
<>();
public
static
DefaultMQProducer
getProducer
()
throws
Exception
{
return
getProducer
(
4
,
DEFAULT_PRODUCER_GROUP
);
return
getProducer
(
DEFAULT_QUEUE_NUM
,
DEFAULT_PRODUCER_GROUP
,
DEFAULT_SEND_MSG_TIMEOUT
);
}
public
static
DefaultMQProducer
getProducer
(
int
queueNum
)
throws
Exception
{
return
getProducer
(
queueNum
,
DEFAULT_PRODUCER_GROUP
);
return
getProducer
(
queueNum
,
DEFAULT_PRODUCER_GROUP
,
DEFAULT_SEND_MSG_TIMEOUT
);
}
public
static
DefaultMQProducer
getProducer
(
String
producerGroup
)
throws
Exception
{
return
getProducer
(
4
,
producerGroup
);
public
static
DefaultMQProducer
getProducer
(
String
producerGroup
,
int
sendMsgTimeout
)
throws
Exception
{
return
getProducer
(
DEFAULT_QUEUE_NUM
,
producerGroup
,
sendMsgTimeout
);
}
public
static
DefaultMQProducer
getProducer
(
int
queueNum
,
String
producerGroup
)
throws
Exception
{
public
static
DefaultMQProducer
getProducer
(
int
queueNum
,
String
producerGroup
,
int
sendMsgTimeout
)
throws
Exception
{
if
(
queueNum
<
1
)
throw
new
IllegalArgumentException
(
"queueNum must >= 1"
);
if
(
StringUtils
.
isBlank
(
producerGroup
))
throw
new
IllegalArgumentException
(
"producerGroup cannot be null"
);
String
producerKey
=
producerGroup
+
queueNum
;
...
...
@@ -46,6 +50,7 @@ public class RocketMQTemplate {
if
(
producerMap
.
get
(
producerKey
)
==
null
)
{
DefaultMQProducer
producer
=
new
DefaultMQProducer
(
DEFAULT_PRODUCER_GROUP
);
producer
.
setDefaultTopicQueueNums
(
queueNum
);
producer
.
setSendMsgTimeout
(
sendMsgTimeout
);
producer
.
start
();
producerMap
.
put
(
producerKey
,
producer
);
}
...
...
@@ -55,20 +60,24 @@ public class RocketMQTemplate {
}
public
static
void
send
(
String
topic
,
String
body
)
{
send
(
DEFAULT_PRODUCER_GROUP
,
topic
,
body
);
send
(
DEFAULT_PRODUCER_GROUP
,
topic
,
body
,
DEFAULT_SEND_MSG_TIMEOUT
);
}
public
static
void
send
(
String
topic
,
String
body
,
int
sendMsgTimeout
)
{
send
(
DEFAULT_PRODUCER_GROUP
,
topic
,
body
,
sendMsgTimeout
);
}
public
static
void
send
(
String
producerGroup
,
String
topic
,
String
body
)
{
send
(
producerGroup
,
topic
,
""
,
body
);
public
static
void
send
(
String
producerGroup
,
String
topic
,
String
body
,
int
sendMsgTimeout
)
{
send
(
producerGroup
,
topic
,
""
,
body
,
sendMsgTimeout
);
}
public
static
void
send
(
String
producerGroup
,
String
topic
,
String
tags
,
String
body
)
{
send
(
producerGroup
,
topic
,
tags
,
""
,
body
);
public
static
void
send
(
String
producerGroup
,
String
topic
,
String
tags
,
String
body
,
int
sendMsgTimeout
)
{
send
(
producerGroup
,
topic
,
tags
,
""
,
body
,
sendMsgTimeout
);
}
public
static
void
send
(
String
producerGroup
,
String
topic
,
String
tags
,
String
keys
,
String
body
)
{
public
static
void
send
(
String
producerGroup
,
String
topic
,
String
tags
,
String
keys
,
String
body
,
int
sendMsgTimeout
)
{
try
{
send
(
producerGroup
,
new
Message
(
topic
,
tags
,
keys
,
body
.
getBytes
(
RemotingHelper
.
DEFAULT_CHARSET
)));
send
(
producerGroup
,
new
Message
(
topic
,
tags
,
keys
,
body
.
getBytes
(
RemotingHelper
.
DEFAULT_CHARSET
))
,
sendMsgTimeout
);
}
catch
(
Exception
e
)
{
log
.
error
(
"send error, producerGroup:{}, topic:{}, tags:{}, keys:{}, body:{}"
,
producerGroup
,
topic
,
tags
,
keys
,
body
,
e
);
...
...
@@ -76,17 +85,21 @@ public class RocketMQTemplate {
}
}
private
static
void
send
(
String
producerGroup
,
Message
message
)
throws
Exception
{
getProducer
(
producerGroup
).
send
(
message
);
private
static
void
send
(
String
producerGroup
,
Message
message
,
int
sendMsgTimeout
)
throws
Exception
{
getProducer
(
producerGroup
,
sendMsgTimeout
).
send
(
message
);
}
public
static
void
sendOrderly
(
String
producerGroup
,
String
topic
,
String
keys
,
String
body
)
{
sendOrderly
(
producerGroup
,
topic
,
keys
,
body
);
sendOrderly
(
producerGroup
,
topic
,
keys
,
body
,
DEFAULT_SEND_MSG_TIMEOUT
);
}
public
static
void
sendOrderly
(
String
producerGroup
,
String
topic
,
String
keys
,
String
body
,
int
sendMsgTimeout
)
{
sendOrderly
(
producerGroup
,
topic
,
keys
,
body
,
sendMsgTimeout
);
}
public
static
void
sendOrderly
(
String
producerGroup
,
String
topic
,
String
tags
,
String
keys
,
String
body
)
{
public
static
void
sendOrderly
(
String
producerGroup
,
String
topic
,
String
tags
,
String
keys
,
String
body
,
int
sendMsgTimeout
)
{
try
{
sendOrderly
(
producerGroup
,
new
Message
(
topic
,
tags
,
keys
,
body
.
getBytes
(
RemotingHelper
.
DEFAULT_CHARSET
)));
sendOrderly
(
producerGroup
,
new
Message
(
topic
,
tags
,
keys
,
body
.
getBytes
(
RemotingHelper
.
DEFAULT_CHARSET
))
,
sendMsgTimeout
);
}
catch
(
Exception
e
)
{
log
.
error
(
"send error, producerGroup:{}, topic:{}, tags:{}, keys:{}, body:{}"
,
producerGroup
,
topic
,
tags
,
keys
,
body
,
e
);
...
...
@@ -94,8 +107,8 @@ public class RocketMQTemplate {
}
}
private
static
void
sendOrderly
(
String
producerGroup
,
Message
message
)
throws
Exception
{
getProducer
(
producerGroup
).
send
(
message
,
private
static
void
sendOrderly
(
String
producerGroup
,
Message
message
,
int
sendMsgTimeout
)
throws
Exception
{
getProducer
(
producerGroup
,
sendMsgTimeout
).
send
(
message
,
new
MessageQueueSelector
()
{
@Override
public
MessageQueue
select
(
List
<
MessageQueue
>
mqs
,
Message
msg
,
Object
arg
)
{
...
...
whatsmars-mq/whatsmars-mq-sdk/src/test/java/org/hongxi/whatsmars/common/rocketmq/RocketMQTest.java
浏览文件 @
f6300c09
package
org.hongxi.whatsmars.common.rocketmq
;
import
org.apache.rocketmq.common.MixAll
;
import
org.junit.Before
;
import
org.junit.Test
;
/**
...
...
@@ -11,17 +9,14 @@ public class RocketMQTest {
private
static
final
String
TEST_TOPIC
=
"sdk-test"
;
@Before
public
void
namesrv
()
{
System
.
setProperty
(
MixAll
.
NAMESRV_ADDR_PROPERTY
,
"127.0.0.1:9876"
);
}
// -Drocketmq.namesrv.addr=127.0.0.1:9876
@Test
public
void
send
()
{
int
count
=
0
;
for
(
int
i
=
0
;
i
<
20
;
i
++)
{
try
{
RocketMQTemplate
.
send
(
TEST_TOPIC
,
"hello"
+
i
);
RocketMQTemplate
.
send
(
TEST_TOPIC
,
"hello"
+
i
,
1000
);
count
++;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
...
...
whatsmars-mq/whatsmars-otter-extend/src/main/java/org/hongxi/whatsmars/otter/extend/MQEventProcessor.java
浏览文件 @
f6300c09
...
...
@@ -77,7 +77,7 @@ public class MQEventProcessor extends AbstractEventProcessor {
tags
=
tags
.
substring
(
0
,
tags
.
length
()
-
suffix
.
length
());
}
RocketMQTemplate
.
sendOrderly
(
"otter-producer"
,
topic
,
tags
,
msgKey
,
JSON
.
toJSONString
(
otterData
));
RocketMQTemplate
.
sendOrderly
(
"otter-producer"
,
topic
,
tags
,
msgKey
,
JSON
.
toJSONString
(
otterData
)
,
3000
);
return
false
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录