When creating a bean of type java.util.concurrent.ExecutorService, TraceExecutorBeanPostProcessor encapsulates this bean in a LazyTraceExecutor instance. Autowiring this bean into an ExecutorService field fails, as the actual instance is of type LazyTraceExecutor which does not implement ExecutorService, but only Executor.
More generally, the approach of TraceExecutorBeanPostProcessor fails for every sub-interface of Executor. Maybe a approach like Spring AOP should be used instead.