In the observability space we're instrumenting PlatformTransactionManager and ReactiveTransactionManager interfaces. The problem we're seeing is that if an actual implementation extends either AbstractPlatformTransactionManager or AbstractReactiveTransactionManager then the CGLIB proxy can't be created because methods from those interfaces are final.

Can we please make them non-final?

Comment From: mp911de

Would it be possible to use delegation instead of subclass proxies using the corresponding interface?

Comment From: marcingrzejszczak

No, cause in various projects users are injecting directly concrete classes. Here you have one example https://github.com/spring-cloud/spring-cloud-sleuth/issues/2067

Comment From: snicoll

Chatting with @marcingrzejszczak, this request is no longer required.