Fix: DynamicThreadPoolAdapterRegister NPE during application startup (#1165)

1.5.0
yanrongzhen 1 year ago committed by GitHub
parent 0838f75702
commit a1b085fbed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -25,6 +25,7 @@ import org.springframework.beans.factory.InitializingBean;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import static cn.hippo4j.common.constant.Constants.IDENTIFY_SLICER_SYMBOL; import static cn.hippo4j.common.constant.Constants.IDENTIFY_SLICER_SYMBOL;
@ -55,10 +56,13 @@ public class DynamicThreadPoolAdapterRegister implements InitializingBean {
} }
public void discoverAdapterExecutor() { public void discoverAdapterExecutor() {
List<AdapterExecutorProperties> adapterExecutors = bootstrapConfigProperties.getAdapterExecutors(); Optional<List<AdapterExecutorProperties>> adapterExecutorProperties =
for (AdapterExecutorProperties each : adapterExecutors) { Optional.ofNullable(bootstrapConfigProperties.getAdapterExecutors());
String buildKey = each.getMark() + IDENTIFY_SLICER_SYMBOL + each.getThreadPoolKey(); adapterExecutorProperties.ifPresent(props -> {
ADAPTER_EXECUTORS_MAP.putIfAbsent(buildKey, each); for (AdapterExecutorProperties each : props) {
} String buildKey = each.getMark() + IDENTIFY_SLICER_SYMBOL + each.getThreadPoolKey();
ADAPTER_EXECUTORS_MAP.putIfAbsent(buildKey, each);
}
});
} }
} }

Loading…
Cancel
Save