Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 48153491
由
LN
编写于
2025-04-10 17:26:03 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
定时调用panaCim的keepAlive接口
1 个父辈
2b73af30
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
42 行增加
和
2 行删除
src/main/java/com/neotel/smfcore/custom/panacim/PanaApiController.java
src/main/java/com/neotel/smfcore/custom/panacim/PanaApiController.java
查看文件 @
4815349
...
@@ -47,6 +47,9 @@ import javax.servlet.http.HttpServletRequest;
...
@@ -47,6 +47,9 @@ import javax.servlet.http.HttpServletRequest;
import
java.net.InetAddress
;
import
java.net.InetAddress
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.ScheduledExecutorService
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.atomic.AtomicLong
;
import
java.util.concurrent.atomic.AtomicLong
;
...
@@ -83,7 +86,7 @@ public class PanaApiController extends BaseSmfApiListener {
...
@@ -83,7 +86,7 @@ public class PanaApiController extends BaseSmfApiListener {
@Autowired
@Autowired
private
EquipConfigUtil
equipConfigUtil
;
private
EquipConfigUtil
equipConfigUtil
;
ScheduledExecutorService
scheduledThreadPool
=
Executors
.
newScheduledThreadPool
(
1
);
@Autowired
@Autowired
public
void
setDataCache
(
DataCache
dataCache
)
{
public
void
setDataCache
(
DataCache
dataCache
)
{
PanaApiController
.
dataCache
=
dataCache
;
PanaApiController
.
dataCache
=
dataCache
;
...
@@ -96,8 +99,45 @@ public class PanaApiController extends BaseSmfApiListener {
...
@@ -96,8 +99,45 @@ public class PanaApiController extends BaseSmfApiListener {
}
}
log
.
info
(
"从缓存 "
+
Constants
.
Cache_PanaCIMIP
+
" 中读取到PanaCIM 的注册IP【"
+
ip
+
":"
+
port
+
"】"
);
log
.
info
(
"从缓存 "
+
Constants
.
Cache_PanaCIMIP
+
" 中读取到PanaCIM 的注册IP【"
+
ip
+
":"
+
port
+
"】"
);
}
}
//1 分钟之后执行,每20秒钟执行一次
scheduledThreadPool
.
scheduleAtFixedRate
(
new
Runnable
()
{
@Override
public
void
run
()
{
if
(
ObjectUtil
.
isNotEmpty
(
PanaCIMIP
)){
keepAlive
();
}
}
},
60
,
20
,
TimeUnit
.
SECONDS
);
}
}
public
boolean
keepAlive
()
{
try
{
String
apiName
=
dataCache
.
getConfigCache
(
"api.name"
,
""
);
if
(!
isForThisApi
(
apiName
))
{
return
false
;
}
String
keepAliveUrl
=
getkeepAliveUrl
();
if
(
ObjectUtil
.
isEmpty
(
keepAliveUrl
))
{
log
.
error
(
"未找到地址 keepAliveUrl,返回false"
);
return
false
;
}
Map
<
String
,
Object
>
result
=
HttpHelper
.
getJsonResult
(
keepAliveUrl
,
new
HashMap
<>(),
2000
);
if
(
result
!=
null
&&
result
.
size
()
==
2
)
{
int
code
=
(
Integer
)
result
.
get
(
"code"
);
String
responseContent
=
result
.
get
(
"responseContent"
).
toString
();
if
(
code
==
200
)
{
lastKeepAliveTime
=
System
.
currentTimeMillis
();
return
true
;
}
}
}
catch
(
Exception
ex
)
{
log
.
error
(
ex
.
toString
());
}
return
false
;
}
@Autowired
@Autowired
protected
IDataLogDao
dataLogDao
;
protected
IDataLogDao
dataLogDao
;
...
@@ -116,7 +156,7 @@ public class PanaApiController extends BaseSmfApiListener {
...
@@ -116,7 +156,7 @@ public class PanaApiController extends BaseSmfApiListener {
if
(
lastKeepAliveTime
<=
-
1
||
ObjectUtil
.
isEmpty
(
PanaCIMIP
))
{
if
(
lastKeepAliveTime
<=
-
1
||
ObjectUtil
.
isEmpty
(
PanaCIMIP
))
{
return
false
;
return
false
;
}
}
if
((
System
.
currentTimeMillis
()
-
lastKeepAliveTime
)
<
(
1
0
*
1000
))
{
if
((
System
.
currentTimeMillis
()
-
lastKeepAliveTime
)
<
(
6
0
*
1000
))
{
return
true
;
return
true
;
}
}
return
false
;
return
false
;
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论