Merge remote-tracking branch 'origin/fix-bug-202303' into fix-bug-202303

This commit is contained in:
梁琦涛
2023-03-10 15:23:53 +08:00
7 changed files with 253 additions and 247 deletions
@@ -19,7 +19,7 @@ public class XxlJobGroup {
private List<String> registryList; // 执行器地址列表(系统注册) private List<String> registryList; // 执行器地址列表(系统注册)
public List<String> getRegistryList() { public List<String> getRegistryList() {
if (addressList!=null && addressList.trim().length()>0) { if (addressList!=null && addressList.trim().length()>0) {
registryList = new ArrayList<String>(Arrays.asList(addressList.split(","))); registryList = new ArrayList<>(Arrays.asList(addressList.split(",")));
} }
return registryList; return registryList;
} }
@@ -17,7 +17,7 @@ public class ExecutorRouteBusyover extends ExecutorRouter {
@Override @Override
public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList) { public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList) {
StringBuffer idleBeatResultSB = new StringBuffer(); StringBuilder idleBeatResultSB = new StringBuilder();
for (String address : addressList) { for (String address : addressList) {
// beat // beat
ReturnT<String> idleBeatResult = null; ReturnT<String> idleBeatResult = null;
@@ -26,7 +26,7 @@ public class ExecutorRouteBusyover extends ExecutorRouter {
idleBeatResult = executorBiz.idleBeat(new IdleBeatParam(triggerParam.getJobId())); idleBeatResult = executorBiz.idleBeat(new IdleBeatParam(triggerParam.getJobId()));
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
idleBeatResult = new ReturnT<String>(ReturnT.FAIL_CODE, ""+e ); idleBeatResult = new ReturnT<>(ReturnT.FAIL_CODE, ""+e );
} }
idleBeatResultSB.append( (idleBeatResultSB.length()>0)?"<br><br>":"") idleBeatResultSB.append( (idleBeatResultSB.length()>0)?"<br><br>":"")
.append(I18nUtil.getString("jobconf_idleBeat") + "") .append(I18nUtil.getString("jobconf_idleBeat") + "")
@@ -42,7 +42,7 @@ public class ExecutorRouteBusyover extends ExecutorRouter {
} }
} }
return new ReturnT<String>(ReturnT.FAIL_CODE, idleBeatResultSB.toString()); return new ReturnT<>(ReturnT.FAIL_CODE, idleBeatResultSB.toString());
} }
} }
@@ -4,7 +4,7 @@ import com.xxl.job.admin.core.route.ExecutorRouter;
import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.biz.model.TriggerParam; import com.xxl.job.core.biz.model.TriggerParam;
import java.io.UnsupportedEncodingException; import java.nio.charset.StandardCharsets;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.util.List; import java.util.List;
@@ -19,7 +19,7 @@ import java.util.TreeMap;
*/ */
public class ExecutorRouteConsistentHash extends ExecutorRouter { public class ExecutorRouteConsistentHash extends ExecutorRouter {
private static int VIRTUAL_NODE_NUM = 100; private static final int VIRTUAL_NODE_NUM = 100;
/** /**
* get hash code on 2^32 ring (md5散列的方式计算hash值) * get hash code on 2^32 ring (md5散列的方式计算hash值)
@@ -37,12 +37,7 @@ public class ExecutorRouteConsistentHash extends ExecutorRouter {
} }
md5.reset(); md5.reset();
byte[] keyBytes = null; byte[] keyBytes = null;
try { keyBytes = key.getBytes(StandardCharsets.UTF_8);
keyBytes = key.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
throw new RuntimeException("Unknown string :" + key, e);
}
md5.update(keyBytes); md5.update(keyBytes);
byte[] digest = md5.digest(); byte[] digest = md5.digest();
@@ -52,15 +47,14 @@ public class ExecutorRouteConsistentHash extends ExecutorRouter {
| ((long) (digest[1] & 0xFF) << 8) | ((long) (digest[1] & 0xFF) << 8)
| (digest[0] & 0xFF); | (digest[0] & 0xFF);
long truncateHashCode = hashCode & 0xffffffffL; return hashCode & 0xffffffffL;
return truncateHashCode;
} }
public String hashJob(int jobId, List<String> addressList) { public String hashJob(int jobId, List<String> addressList) {
// ------A1------A2-------A3------ // ------A1------A2-------A3------
// -----------J1------------------ // -----------J1------------------
TreeMap<Long, String> addressRing = new TreeMap<Long, String>(); TreeMap<Long, String> addressRing = new TreeMap<>();
for (String address: addressList) { for (String address: addressList) {
for (int i = 0; i < VIRTUAL_NODE_NUM; i++) { for (int i = 0; i < VIRTUAL_NODE_NUM; i++) {
long addressHash = hash("SHARD-" + address + "-NODE-" + i); long addressHash = hash("SHARD-" + address + "-NODE-" + i);
@@ -79,7 +73,7 @@ public class ExecutorRouteConsistentHash extends ExecutorRouter {
@Override @Override
public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList) { public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList) {
String address = hashJob(triggerParam.getJobId(), addressList); String address = hashJob(triggerParam.getJobId(), addressList);
return new ReturnT<String>(address); return new ReturnT<>(address);
} }
} }
@@ -17,7 +17,7 @@ public class ExecutorRouteFailover extends ExecutorRouter {
@Override @Override
public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList) { public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList) {
StringBuffer beatResultSB = new StringBuffer(); StringBuilder beatResultSB = new StringBuilder();
for (String address : addressList) { for (String address : addressList) {
// beat // beat
ReturnT<String> beatResult = null; ReturnT<String> beatResult = null;
@@ -26,7 +26,7 @@ public class ExecutorRouteFailover extends ExecutorRouter {
beatResult = executorBiz.beat(); beatResult = executorBiz.beat();
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
beatResult = new ReturnT<String>(ReturnT.FAIL_CODE, ""+e ); beatResult = new ReturnT<>(ReturnT.FAIL_CODE, ""+e );
} }
beatResultSB.append( (beatResultSB.length()>0)?"<br><br>":"") beatResultSB.append( (beatResultSB.length()>0)?"<br><br>":"")
.append(I18nUtil.getString("jobconf_beat") + "") .append(I18nUtil.getString("jobconf_beat") + "")
@@ -42,7 +42,7 @@ public class ExecutorRouteFailover extends ExecutorRouter {
return beatResult; return beatResult;
} }
} }
return new ReturnT<String>(ReturnT.FAIL_CODE, beatResultSB.toString()); return new ReturnT<>(ReturnT.FAIL_CODE, beatResultSB.toString());
} }
} }
@@ -13,7 +13,7 @@ public class ExecutorRouteFirst extends ExecutorRouter {
@Override @Override
public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList){ public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList){
return new ReturnT<String>(addressList.get(0)); return new ReturnT<>(addressList.get(0));
} }
} }
@@ -13,7 +13,7 @@ public class ExecutorRouteLast extends ExecutorRouter {
@Override @Override
public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList) { public ReturnT<String> route(TriggerParam triggerParam, List<String> addressList) {
return new ReturnT<String>(addressList.get(addressList.size()-1)); return new ReturnT<>(addressList.get(addressList.size()-1));
} }
} }