diff --git a/cffu-ttl-executor-wrapper/src/main/java/io/foldright/cffu/ttl/CffuTtlExecutorWrapperProvider.java b/cffu-ttl-executor-wrapper/src/main/java/io/foldright/cffu/ttl/CffuTtlExecutorWrapperProvider.java index d0c3401a..57d9e23c 100644 --- a/cffu-ttl-executor-wrapper/src/main/java/io/foldright/cffu/ttl/CffuTtlExecutorWrapperProvider.java +++ b/cffu-ttl-executor-wrapper/src/main/java/io/foldright/cffu/ttl/CffuTtlExecutorWrapperProvider.java @@ -1,5 +1,6 @@ package io.foldright.cffu.ttl; +import com.alibaba.ttl.spi.TtlEnhanced; import com.alibaba.ttl.threadpool.TtlExecutors; import edu.umd.cs.findbugs.annotations.NonNull; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; @@ -23,6 +24,8 @@ public final class CffuTtlExecutorWrapperProvider implements ExecutorWrapperProv @Override @SuppressFBWarnings("NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE") public Executor wrap(@NonNull Executor executor) { - return TtlExecutors.getTtlExecutor(requireNonNull(executor, "executor is null")); + requireNonNull(executor, "executor is null"); + if (executor instanceof TtlEnhanced) return executor; + return TtlExecutors.getTtlExecutor(executor); } }