I observed an announced change in behavior in version 9.0.60 (and later). My application has a Spring class loaded as a javax.servlet.Filter. It has a method annotated with a PostConstruct annotation. Up until Tomcat 9.0.59 the annotation was handled by Spring. Starting with Tomcat 9.0.60 behavior changed. Now Tomcat attempts to take action on that method. The attempt fails with "java.lang.IllegalArgumentException: Invalid javax.annotation.PostConstruct annotation" exception and that results in the whole application failing to start.
I use PostConstruct in other Spring modules but it looks like Tomcat cares only about classes it deals with directly. I do not see this change documented anywhere so I assume this may be a regression or an undocumented bug fix or feature. Does anyone have more information about this? Thanks!