fix(core): 修复 AdminBiz 客户端初始化逻辑

- 调整地址为空时的处理逻辑,提前返回避免无效操作
- 优化地址解析过程,去除冗余的字符串检查
- 修复超时时间配置错误,确保在有效范围内
- 简化 AdminBiz 实例构建与注册流程
3.3.1-release
xuxueli 5 days ago
commit 67b6d4278c

@ -123,31 +123,36 @@ public class XxlJobExecutor {
// ---------------------- admin-client (rpc invoker) ----------------------
private static List<AdminBiz> adminBizList;
private void initAdminBizList(String adminAddresses, String accessToken, int timeout) throws Exception {
if (StringTool.isNotBlank(adminAddresses)) {
for (String address: adminAddresses.trim().split(",")) {
if (StringTool.isNotBlank(address)) {
// valid
String finalAddress = address.trim();
finalAddress = finalAddress.endsWith("/") ? (finalAddress + "api") : (finalAddress + "/api");
if (!(this.timeout >=1 && this.timeout <= 10)) {
this.timeout = 3;
}
// valid
if (StringTool.isBlank(adminAddresses)) {
return;
}
// build
AdminBiz adminBiz = HttpTool.createClient()
.url(finalAddress)
.timeout(timeout * 1000)
.header(Const.XXL_JOB_ACCESS_TOKEN, accessToken)
.proxy(AdminBiz.class);
// build adminBizList
for (String address: adminAddresses.trim().split(",")) {
if (StringTool.isBlank(address)) {
continue;
}
// registry
if (adminBizList == null) {
adminBizList = new ArrayList<AdminBiz>();
}
adminBizList.add(adminBiz);
}
// parse param
String finalAddress = address.trim();
finalAddress = finalAddress.endsWith("/") ? (finalAddress + "api") : (finalAddress + "/api");
int finalTimeout = (timeout >=1 && timeout <= 10)
?timeout
:3;
// build
AdminBiz adminBiz = HttpTool.createClient()
.url(finalAddress)
.timeout(finalTimeout * 1000)
.header(Const.XXL_JOB_ACCESS_TOKEN, accessToken)
.proxy(AdminBiz.class);
// registry
if (adminBizList == null) {
adminBizList = new ArrayList<AdminBiz>();
}
adminBizList.add(adminBiz);
}
}

Loading…
Cancel
Save