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

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

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