pull/637/head
airoger 3 years ago
parent fbbb176522
commit 2616eb21c8

@ -146,10 +146,10 @@ public enum BlockingQueueTypeEnum {
return queueTypeEnum.map(each -> each.name).orElse(""); return queueTypeEnum.map(each -> each.name).orElse("");
} }
public static BlockingQueueTypeEnum getBlockingQueueTypeEnumByName(String name){ public static BlockingQueueTypeEnum getBlockingQueueTypeEnumByName(String name) {
Optional<BlockingQueueTypeEnum> queueTypeEnum = Arrays.stream(BlockingQueueTypeEnum.values()) Optional<BlockingQueueTypeEnum> queueTypeEnum = Arrays.stream(BlockingQueueTypeEnum.values())
.filter(each -> each.name.equals(name)) .filter(each -> each.name.equals(name))
.findFirst(); .findFirst();
return queueTypeEnum.get(); return queueTypeEnum.orElse(LINKED_BLOCKING_QUEUE);
} }
} }

@ -99,4 +99,11 @@ public enum RejectedPolicyTypeEnum {
public static String getRejectedNameByType(int type) { public static String getRejectedNameByType(int type) {
return createPolicy(type).getClass().getSimpleName(); return createPolicy(type).getClass().getSimpleName();
} }
public static RejectedPolicyTypeEnum getRejectedPolicyTypeEnumByName(String name) {
Optional<RejectedPolicyTypeEnum> rejectedTypeEnum = Stream.of(RejectedPolicyTypeEnum.values())
.filter(each -> each.name.equals(name))
.findFirst();
return rejectedTypeEnum.orElse(ABORT_POLICY);
}
} }

@ -172,7 +172,7 @@ public final class DynamicThreadPoolPostProcessor implements BeanPostProcessor {
dynamicThreadPoolWrapper.setExecutor(newDynamicThreadPoolExecutor); dynamicThreadPoolWrapper.setExecutor(newDynamicThreadPoolExecutor);
isSubscribe = true; isSubscribe = true;
} }
}else { } else {
// DynamicThreadPool configuration undefined in server // DynamicThreadPool configuration undefined in server
DynamicThreadPoolRegisterParameter parameterInfo = DynamicThreadPoolRegisterParameter.builder() DynamicThreadPoolRegisterParameter parameterInfo = DynamicThreadPoolRegisterParameter.builder()
.threadPoolId(threadPoolId) .threadPoolId(threadPoolId)
@ -182,9 +182,9 @@ public final class DynamicThreadPoolPostProcessor implements BeanPostProcessor {
.blockingQueueType(BlockingQueueTypeEnum.getBlockingQueueTypeEnumByName(executor.getQueue().getClass().getSimpleName())) .blockingQueueType(BlockingQueueTypeEnum.getBlockingQueueTypeEnumByName(executor.getQueue().getClass().getSimpleName()))
.capacity(executor.getQueue().remainingCapacity()) .capacity(executor.getQueue().remainingCapacity())
.allowCoreThreadTimeOut(executor.allowsCoreThreadTimeOut()) .allowCoreThreadTimeOut(executor.allowsCoreThreadTimeOut())
.keepAliveTime(executor.getKeepAliveTime(TimeUnit.MILLISECONDS))
.isAlarm(false) .isAlarm(false)
//todo 如何根据拒绝策略的代理类获取到对应的枚举 .rejectedPolicyType(RejectedPolicyTypeEnum.getRejectedPolicyTypeEnumByName(((DynamicThreadPoolExecutor) executor).getRedundancyHandler().getClass().getSimpleName()))
.rejectedPolicyType(RejectedPolicyTypeEnum.ABORT_POLICY)
.build(); .build();
DynamicThreadPoolRegisterWrapper registerWrapper = DynamicThreadPoolRegisterWrapper.builder() DynamicThreadPoolRegisterWrapper registerWrapper = DynamicThreadPoolRegisterWrapper.builder()
.dynamicThreadPoolRegisterParameter(parameterInfo) .dynamicThreadPoolRegisterParameter(parameterInfo)

Loading…
Cancel
Save