Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Apache RocketMQ
Rocketmq
提交
d60643a2
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看板
未验证
提交
d60643a2
编写于
7月 25, 2021
作者:
H
Heng Du
提交者:
GitHub
7月 25, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #2720 from EZLippi/feature/issue2715
[ISSUE #2715] make netty parameter configure by system property
上级
9a9039e8
59cbbc43
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
86 addition
and
5 deletion
+86
-5
remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyClientConfig.java
...org/apache/rocketmq/remoting/netty/NettyClientConfig.java
+4
-4
remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettySystemConfig.java
...org/apache/rocketmq/remoting/netty/NettySystemConfig.java
+18
-1
remoting/src/test/java/org/apache/rocketmq/remoting/netty/NettyClientConfigTest.java
...apache/rocketmq/remoting/netty/NettyClientConfigTest.java
+64
-0
未找到文件。
remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyClientConfig.java
浏览文件 @
d60643a2
...
...
@@ -20,23 +20,23 @@ public class NettyClientConfig {
/**
* Worker thread number
*/
private
int
clientWorkerThreads
=
4
;
private
int
clientWorkerThreads
=
NettySystemConfig
.
clientWorkerSize
;
private
int
clientCallbackExecutorThreads
=
Runtime
.
getRuntime
().
availableProcessors
();
private
int
clientOnewaySemaphoreValue
=
NettySystemConfig
.
CLIENT_ONEWAY_SEMAPHORE_VALUE
;
private
int
clientAsyncSemaphoreValue
=
NettySystemConfig
.
CLIENT_ASYNC_SEMAPHORE_VALUE
;
private
int
connectTimeoutMillis
=
3000
;
private
int
connectTimeoutMillis
=
NettySystemConfig
.
connectTimeoutMillis
;
private
long
channelNotActiveInterval
=
1000
*
60
;
/**
* IdleStateEvent will be triggered when neither read nor write was performed for
* the specified period of this time. Specify {@code 0} to disable
*/
private
int
clientChannelMaxIdleTimeSeconds
=
120
;
private
int
clientChannelMaxIdleTimeSeconds
=
NettySystemConfig
.
clientChannelMaxIdleTimeSeconds
;
private
int
clientSocketSndBufSize
=
NettySystemConfig
.
socketSndbufSize
;
private
int
clientSocketRcvBufSize
=
NettySystemConfig
.
socketRcvbufSize
;
private
boolean
clientPooledByteBufAllocatorEnable
=
false
;
private
boolean
clientCloseSocketIfTimeout
=
false
;
private
boolean
clientCloseSocketIfTimeout
=
NettySystemConfig
.
clientCloseSocketIfTimeout
;
private
boolean
useTLS
;
...
...
remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettySystemConfig.java
浏览文件 @
d60643a2
...
...
@@ -28,8 +28,17 @@ public class NettySystemConfig {
"com.rocketmq.remoting.clientAsyncSemaphoreValue"
;
public
static
final
String
COM_ROCKETMQ_REMOTING_CLIENT_ONEWAY_SEMAPHORE_VALUE
=
"com.rocketmq.remoting.clientOnewaySemaphoreValue"
;
public
static
final
String
COM_ROCKETMQ_REMOTING_CLIENT_WORKER_SIZE
=
"com.rocketmq.remoting.client.worker.size"
;
public
static
final
String
COM_ROCKETMQ_REMOTING_CLIENT_CONNECT_TIMEOUT
=
"com.rocketmq.remoting.client.connect.timeout"
;
public
static
final
String
COM_ROCKETMQ_REMOTING_CLIENT_CHANNEL_MAX_IDLE_SECONDS
=
"com.rocketmq.remoting.client.channel.maxIdleTimeSeconds"
;
public
static
final
String
COM_ROCKETMQ_REMOTING_CLIENT_CLOSE_SOCKET_IF_TIMEOUT
=
"com.rocketmq.remoting.client.closeSocketIfTimeout"
;
public
static
final
boolean
NETTY_POOLED_BYTE_BUF_ALLOCATOR_ENABLE
=
//
public
static
final
boolean
NETTY_POOLED_BYTE_BUF_ALLOCATOR_ENABLE
=
//
Boolean
.
parseBoolean
(
System
.
getProperty
(
COM_ROCKETMQ_REMOTING_NETTY_POOLED_BYTE_BUF_ALLOCATOR_ENABLE
,
"false"
));
public
static
final
int
CLIENT_ASYNC_SEMAPHORE_VALUE
=
//
Integer
.
parseInt
(
System
.
getProperty
(
COM_ROCKETMQ_REMOTING_CLIENT_ASYNC_SEMAPHORE_VALUE
,
"65535"
));
...
...
@@ -39,4 +48,12 @@ public class NettySystemConfig {
Integer
.
parseInt
(
System
.
getProperty
(
COM_ROCKETMQ_REMOTING_SOCKET_SNDBUF_SIZE
,
"65535"
));
public
static
int
socketRcvbufSize
=
Integer
.
parseInt
(
System
.
getProperty
(
COM_ROCKETMQ_REMOTING_SOCKET_RCVBUF_SIZE
,
"65535"
));
public
static
int
clientWorkerSize
=
Integer
.
parseInt
(
System
.
getProperty
(
COM_ROCKETMQ_REMOTING_CLIENT_WORKER_SIZE
,
"4"
));
public
static
int
connectTimeoutMillis
=
Integer
.
parseInt
(
System
.
getProperty
(
COM_ROCKETMQ_REMOTING_CLIENT_CONNECT_TIMEOUT
,
"3000"
));
public
static
int
clientChannelMaxIdleTimeSeconds
=
Integer
.
parseInt
(
System
.
getProperty
(
COM_ROCKETMQ_REMOTING_CLIENT_CHANNEL_MAX_IDLE_SECONDS
,
"120"
));
public
static
boolean
clientCloseSocketIfTimeout
=
Boolean
.
parseBoolean
(
System
.
getProperty
(
COM_ROCKETMQ_REMOTING_CLIENT_CLOSE_SOCKET_IF_TIMEOUT
,
"true"
));
}
remoting/src/test/java/org/apache/rocketmq/remoting/netty/NettyClientConfigTest.java
0 → 100644
浏览文件 @
d60643a2
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.apache.rocketmq.remoting.netty
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.mockito.junit.MockitoJUnitRunner
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
class
NettyClientConfigTest
{
@Test
public
void
testChangeConfigBySystemProperty
()
throws
NoSuchFieldException
,
IllegalAccessException
{
System
.
setProperty
(
NettySystemConfig
.
COM_ROCKETMQ_REMOTING_CLIENT_WORKER_SIZE
,
"1"
);
System
.
setProperty
(
NettySystemConfig
.
COM_ROCKETMQ_REMOTING_CLIENT_CONNECT_TIMEOUT
,
"2000"
);
System
.
setProperty
(
NettySystemConfig
.
COM_ROCKETMQ_REMOTING_CLIENT_CHANNEL_MAX_IDLE_SECONDS
,
"60"
);
System
.
setProperty
(
NettySystemConfig
.
COM_ROCKETMQ_REMOTING_SOCKET_SNDBUF_SIZE
,
"16383"
);
System
.
setProperty
(
NettySystemConfig
.
COM_ROCKETMQ_REMOTING_SOCKET_RCVBUF_SIZE
,
"16384"
);
System
.
setProperty
(
NettySystemConfig
.
COM_ROCKETMQ_REMOTING_CLIENT_CLOSE_SOCKET_IF_TIMEOUT
,
"false"
);
NettySystemConfig
.
socketSndbufSize
=
Integer
.
parseInt
(
System
.
getProperty
(
NettySystemConfig
.
COM_ROCKETMQ_REMOTING_SOCKET_SNDBUF_SIZE
,
"65535"
));
NettySystemConfig
.
socketRcvbufSize
=
Integer
.
parseInt
(
System
.
getProperty
(
NettySystemConfig
.
COM_ROCKETMQ_REMOTING_SOCKET_RCVBUF_SIZE
,
"65535"
));
NettySystemConfig
.
clientWorkerSize
=
Integer
.
parseInt
(
System
.
getProperty
(
NettySystemConfig
.
COM_ROCKETMQ_REMOTING_CLIENT_WORKER_SIZE
,
"4"
));
NettySystemConfig
.
connectTimeoutMillis
=
Integer
.
parseInt
(
System
.
getProperty
(
NettySystemConfig
.
COM_ROCKETMQ_REMOTING_CLIENT_CONNECT_TIMEOUT
,
"3000"
));
NettySystemConfig
.
clientChannelMaxIdleTimeSeconds
=
Integer
.
parseInt
(
System
.
getProperty
(
NettySystemConfig
.
COM_ROCKETMQ_REMOTING_CLIENT_CHANNEL_MAX_IDLE_SECONDS
,
"120"
));
NettySystemConfig
.
clientCloseSocketIfTimeout
=
Boolean
.
parseBoolean
(
System
.
getProperty
(
NettySystemConfig
.
COM_ROCKETMQ_REMOTING_CLIENT_CLOSE_SOCKET_IF_TIMEOUT
,
"true"
));
NettyClientConfig
changedConfig
=
new
NettyClientConfig
();
assertThat
(
changedConfig
.
getClientWorkerThreads
()).
isEqualTo
(
1
);
assertThat
(
changedConfig
.
getClientOnewaySemaphoreValue
()).
isEqualTo
(
65535
);
assertThat
(
changedConfig
.
getClientAsyncSemaphoreValue
()).
isEqualTo
(
65535
);
assertThat
(
changedConfig
.
getConnectTimeoutMillis
()).
isEqualTo
(
2000
);
assertThat
(
changedConfig
.
getClientChannelMaxIdleTimeSeconds
()).
isEqualTo
(
60
);
assertThat
(
changedConfig
.
getClientSocketSndBufSize
()).
isEqualTo
(
16383
);
assertThat
(
changedConfig
.
getClientSocketRcvBufSize
()).
isEqualTo
(
16384
);
assertThat
(
changedConfig
.
isClientCloseSocketIfTimeout
()).
isEqualTo
(
false
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录