Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qa-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
qa-platform
Commits
bc38493a
Commit
bc38493a
authored
Aug 24, 2021
by
黎博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改切换数据源时获取namespace的切换方式
parent
e370702d
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
58 additions
and
237 deletions
+58
-237
NamespaceCache.java
src/main/java/cn/qg/qaplatform/config/NamespaceCache.java
+45
-0
SwitchDataSource.java
src/main/java/cn/qg/qaplatform/config/SwitchDataSource.java
+10
-237
Namespace.java
src/main/java/cn/qg/qaplatform/enums/Namespace.java
+3
-0
No files found.
src/main/java/cn/qg/qaplatform/config/NamespaceCache.java
0 → 100644
View file @
bc38493a
package
cn
.
qg
.
qaplatform
.
config
;
import
cn.qg.qaplatform.utils.HttpClientUtils
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.PostConstruct
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 启动时动态生成Namespace Map缓存
*/
@Slf4j
@Component
public
class
NamespaceCache
{
public
static
Map
<
String
,
String
>
namespaceMap
=
new
HashMap
<>();
@PostConstruct
public
void
init
()
{
String
url
=
"http://holmes-fe.liangkebang.net/k8s/namespace/list?env=all"
;
JSONObject
response
=
HttpClientUtils
.
doGetReturnJson
(
url
);
JSONArray
nsJsonArray
=
(
JSONArray
)
response
.
get
(
"data"
);
List
<
Map
>
namespaceList
=
JSONArray
.
parseArray
(
nsJsonArray
.
toJSONString
(),
Map
.
class
);
for
(
Map
map:
namespaceList
)
{
namespaceMap
.
put
(
map
.
get
(
"name"
).
toString
(),
map
.
get
(
"mysqlHost"
)
+
":"
+
map
.
get
(
"mysqlPort"
));
}
log
.
info
(
"获取到Namespace列表:{}"
,
JSON
.
toJSONString
(
namespaceMap
));
}
/**
* 获取namespace定时任务
*/
@Scheduled
(
cron
=
"0 */30 * * * ?"
)
public
void
getNsTask
()
{
//每半个小时执行一次缓存
init
();
}
}
src/main/java/cn/qg/qaplatform/config/SwitchDataSource.java
View file @
bc38493a
This diff is collapsed.
Click to expand it.
src/main/java/cn/qg/qaplatform/enums/Namespace.java
View file @
bc38493a
package
cn
.
qg
.
qaplatform
.
enums
;
/**
* 废弃,改成动态获取
*/
public
enum
Namespace
{
DEV1
(
"dev1"
,
"dev1"
,
"jdbc:mysql://172.17.5.16:32661/"
,
"qa"
,
"qatest"
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment