JAX-RS 2.0 Chapter 6.5.1 Global Binding says "As stated in Section 6.1, a global ContainerRequestFilter is executed after resource matching unless annotated with @PreMatching.".
I tried this out and noticed that actually in RI M08-1 default-globally bound filters that I provided using Application.getSingletons() were invoked even for non-existing methods. Hence these global filters worked like if they were annotated with @PreMatching (they were not!), since something that is executed after resource matching obviously could not get executed for non-existing methods!
If needed, I can provide a minimal sample application source code that proofs this behaviour.
(This issue was originally reported as http://java.net/jira/browse/JAX_RS_SPEC-283)