Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Apache RocketMQ
Rocketmq
提交
8c0759e3
R
Rocketmq
项目概览
Apache RocketMQ
/
Rocketmq
上一次同步 大约 3 年
通知
268
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看板
提交
8c0759e3
编写于
12月 13, 2017
作者:
Y
yukon
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Reload the cert and private key dynamically in name server
上级
e60b6099
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
29 addition
and
0 deletion
+29
-0
namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvController.java
...n/java/org/apache/rocketmq/namesrv/NamesrvController.java
+29
-0
未找到文件。
namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvController.java
浏览文件 @
8c0759e3
...
...
@@ -16,6 +16,7 @@
*/
package
org.apache.rocketmq.namesrv
;
import
java.io.IOException
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.ScheduledExecutorService
;
...
...
@@ -30,8 +31,11 @@ import org.apache.rocketmq.namesrv.processor.DefaultRequestProcessor;
import
org.apache.rocketmq.namesrv.routeinfo.BrokerHousekeepingService
;
import
org.apache.rocketmq.namesrv.routeinfo.RouteInfoManager
;
import
org.apache.rocketmq.remoting.RemotingServer
;
import
org.apache.rocketmq.remoting.common.TlsMode
;
import
org.apache.rocketmq.remoting.netty.NettyRemotingServer
;
import
org.apache.rocketmq.remoting.netty.NettyServerConfig
;
import
org.apache.rocketmq.remoting.netty.TlsSystemConfig
;
import
org.apache.rocketmq.srvutil.FileWatchService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -54,6 +58,7 @@ public class NamesrvController {
private
ExecutorService
remotingExecutor
;
private
Configuration
configuration
;
private
FileWatchService
fileWatchService
;
public
NamesrvController
(
NamesrvConfig
namesrvConfig
,
NettyServerConfig
nettyServerConfig
)
{
this
.
namesrvConfig
=
namesrvConfig
;
...
...
@@ -95,6 +100,22 @@ public class NamesrvController {
}
},
1
,
10
,
TimeUnit
.
MINUTES
);
if
(
TlsSystemConfig
.
tlsMode
!=
TlsMode
.
DISABLED
)
{
// Register a listener to reload SslContext
try
{
fileWatchService
=
new
FileWatchService
(
new
String
[]
{
TlsSystemConfig
.
tlsServerCertPath
,
TlsSystemConfig
.
tlsServerKeyPath
},
new
FileWatchService
.
Listener
()
{
@Override
public
void
onChanged
()
{
((
NettyRemotingServer
)
remotingServer
).
loadSslContext
();
}
});
}
catch
(
IOException
e
)
{
log
.
warn
(
"FileWatchService created error, can't load the certificate dynamically"
);
}
}
return
true
;
}
...
...
@@ -111,12 +132,20 @@ public class NamesrvController {
public
void
start
()
throws
Exception
{
this
.
remotingServer
.
start
();
if
(
this
.
fileWatchService
!=
null
)
{
this
.
fileWatchService
.
start
();
}
}
public
void
shutdown
()
{
this
.
remotingServer
.
shutdown
();
this
.
remotingExecutor
.
shutdown
();
this
.
scheduledExecutorService
.
shutdown
();
if
(
this
.
fileWatchService
!=
null
)
{
this
.
fileWatchService
.
shutdown
();
}
}
public
NamesrvConfig
getNamesrvConfig
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录