Debugging it a bit, this seems to be happening because the same MonitoringFilter instance is always injected (its ManagedBean scope is ApplicationScope), but the Application instance injected into MonitoringFilter is not a proxy that can resolve the Application instance relevant to the request, as required in the JAX-RS 2.0 spec, section 9.1 Concurrency. It is simply a direct reference to one of the two Application instances defined by the application. The fix seems to be to inject a proxy for the Application and make it resolve to the relevant Application instance. |