Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ghsby
o2oa
提交
51ffe009
o2oa
项目概览
ghsby
/
o2oa
落后 Fork 源项目 2880 个版本
Fork自
浙江兰德纵横网络技术股份有限公司 / o2oa
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
o2oa
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
51ffe009
编写于
12月 04, 2020
作者:
O
o2sword
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加restart命令
上级
286cd1a4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
56 addition
and
16 deletion
+56
-16
o2server/x_console/src/main/java/com/x/server/console/Main.java
...er/x_console/src/main/java/com/x/server/console/Main.java
+31
-14
o2server/x_console/src/main/java/com/x/server/console/NodeAgent.java
...console/src/main/java/com/x/server/console/NodeAgent.java
+25
-2
未找到文件。
o2server/x_console/src/main/java/com/x/server/console/Main.java
浏览文件 @
51ffe009
package
com.x.server.console
;
import
java.io.BufferedReader
;
import
java.io.File
;
import
java.io.FileReader
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
import
java.io.RandomAccessFile
;
import
java.io.*
;
import
java.lang.management.ManagementFactory
;
import
java.lang.management.RuntimeMXBean
;
import
java.lang.reflect.Method
;
import
java.net.Socket
;
import
java.net.URL
;
import
java.net.URLClassLoader
;
import
java.nio.MappedByteBuffer
;
...
...
@@ -19,12 +15,12 @@ import java.nio.file.Files;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
import
java.nio.file.StandardOpenOption
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.*
;
import
java.util.concurrent.LinkedBlockingQueue
;
import
java.util.regex.Matcher
;
import
com.x.base.core.project.gson.XGsonBuilder
;
import
com.x.base.core.project.tools.Crypto
;
import
org.apache.commons.io.FileUtils
;
import
org.apache.commons.io.FilenameUtils
;
import
org.apache.commons.lang3.BooleanUtils
;
...
...
@@ -453,11 +449,33 @@ public class Main {
}
}
if
(
file
.
exists
())
{
System
.
out
.
println
(
"server will start in new process!"
);
Process
ps
=
Runtime
.
getRuntime
().
exec
(
file
.
getAbsolutePath
());
System
.
out
.
println
(
"server has start in new process...wait to exit!"
);
Thread
.
sleep
(
1000
);
if
(!
Config
.
currentNode
().
autoStart
())
{
for
(
int
i
=
0
;
i
<
5
;
i
++)
{
try
(
Socket
socket
=
new
Socket
(
Config
.
node
(),
Config
.
currentNode
().
nodeAgentPort
()))
{
socket
.
setKeepAlive
(
true
);
socket
.
setSoTimeout
(
2000
);
try
(
DataOutputStream
dos
=
new
DataOutputStream
(
socket
.
getOutputStream
());
DataInputStream
dis
=
new
DataInputStream
(
socket
.
getInputStream
()))
{
Map
<
String
,
Object
>
commandObject
=
new
HashMap
<>();
commandObject
.
put
(
"command"
,
"command:start"
);
commandObject
.
put
(
"credential"
,
Crypto
.
rsaEncrypt
(
"o2@"
,
Config
.
publicKey
()));
dos
.
writeUTF
(
XGsonBuilder
.
toJson
(
commandObject
));
dos
.
flush
();
break
;
}
}
catch
(
Exception
ex
)
{
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
}
}
}
}
}
else
{
System
.
out
.
println
(
"not support restart in current operating system!"
);
System
.
out
.
println
(
"not support restart in current operating system!
start server failure!
"
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
...
...
@@ -469,23 +487,22 @@ public class Main {
private
static
void
stopAllThreads
(){
if
(
nodeAgent
!=
null
){
try
{
nodeAgent
.
stopAgent
();
nodeAgent
.
interrupt
();
nodeAgent
=
null
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
if
(
swapCommandThread
!=
null
){
try
{
swapCommandThread
.
interrupt
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
if
(
consoleCommandThread
!=
null
){
try
{
consoleCommandThread
.
interrupt
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
...
...
o2server/x_console/src/main/java/com/x/server/console/NodeAgent.java
浏览文件 @
51ffe009
...
...
@@ -92,11 +92,16 @@ public class NodeAgent extends Thread {
this
.
commandQueue
=
commandQueue
;
}
private
volatile
boolean
runFlag
=
true
;
private
ServerSocket
serverSocket
=
null
;
@Override
public
void
run
()
{
try
(
ServerSocket
serverSocket
=
new
ServerSocket
(
Config
.
currentNode
().
nodeAgentPort
()))
{
try
{
serverSocket
=
new
ServerSocket
(
Config
.
currentNode
().
nodeAgentPort
());
Matcher
matcher
;
while
(
true
)
{
while
(
runFlag
)
{
try
(
Socket
socket
=
serverSocket
.
accept
())
{
try
(
DataOutputStream
dos
=
new
DataOutputStream
(
socket
.
getOutputStream
());
DataInputStream
dis
=
new
DataInputStream
(
socket
.
getInputStream
()))
{
...
...
@@ -261,6 +266,24 @@ public class NodeAgent extends Thread {
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
if
(
serverSocket
!=
null
){
try
{
serverSocket
.
close
();
}
catch
(
IOException
e
)
{
}
}
}
}
public
void
stopAgent
(){
try
{
this
.
runFlag
=
false
;
if
(
serverSocket
!=
null
)
{
this
.
serverSocket
.
close
();
this
.
serverSocket
=
null
;
}
}
catch
(
Exception
e
)
{
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录